スレッドからメイン UI ルーパーにメッセージを投稿するにはどうすればよいですか? ウィンドウを表示するスタンドアロンのヘルパー クラスに取り組んでいます。
悪い解決策は、コンストラクトを介してビューを渡し、View.post() を使用することですが、より良い解決策を探しています。
これでうまくいくと思いましたが、一般的な「no on ui thread」例外が発生します。
public class Example {
private Context context;
public Example(Context context) {
this.context = context;
}
public void build() {
}
public void show() {
Handler handler = new Handler(Looper.getMainLooper());
handler.post(new Runnable() {
@Override
public void run() {
Toast.makeText(context, "test", Toast.LENGTH_LONG);
}
});
}
}