趣味は車輪の再発明♪

ワーカースレッドからUI更新 - [ マルチスレッド / java(Android) ]


「小さな小さなサンプル&スニペット」
▲インデックスへ戻る▲
カテゴリ:「マルチスレッド」

メインスレッドで生成されたユーザーインタフェースオブジェクトを、別のスレッドから更新する際の記述方法を示します。ワーカースレッドから直接ユーザーインタフェースの更新を行えないGUIフレームワークが対象です。

//HandlerはUIスレッドで生成する。
Handler handler = new Handler();

//ワーカースレッドで実行されるメソッド
public void workerThread() {
	
	//handlerのpostメソッドへRunnableオブジェクトを与える。
	handler.post(new Runnable() {
        public void run() {
        	
          //ビュー(UI)を操作する処理
        	
        }
      });
}		

Androidアプリのユーザーインタフェースの操作はUIオブジェクトを生成したスレッド(UIスレッド)から行わなければならないため、ワーカースレッドから画面を更新したい場合には、Handlerクラスを利用して、Runnableオブジェクトの実行をUIスレッドに依頼します。



RSS Feed Widget
ワーカースレッドからUI更新 - [ マルチスレッド / java(Android) ]
(http://bicycle.life.coocan.jp/takamints/index.php/snippets/snippet/mt/invokemain/android.java)
by Koji Takami ( email: vzg03566@gmail.com, GitHub: takamin )