絶対UIスレッドで動作させたい処理の実装方法

  • 47
    いいね
  • 2
    コメント
この記事は最終更新日から1年以上が経過しています。

メモ

post.java
// Handlerにpost()させて呼び出す
// Handler自体はUIスレッド上でインスタンス生成すること
mHandler = new Handler();

// もしくはLooperでメインスレッドを指定して生成
mHandler = new Handler(Looper.getMainLooper());

mHandler.post(new Runnable() {
        @Override
        public void run() {
            // ここに処理
        }
    });
post.java
// 「このViewのためにやるんだ!」っていうのであれば
// 指定のViewにpostするやり方の方が見た目わかりやすいのかもしれない
// (いいのかどうかは不明)
mTextView.post(new Runnable() {
        @Override
        public void run() {
            // ここに処理
        }
    });
post.java
// ActivityのrunOnUiThread()を利用する場合
mActivity.runOnUiThread(new Runnable() {
        @Override
        public void run() {
            // ここに処理
        }
    });

現場からは以上です