ホームページ >Java >&#&チュートリアル >Android でバックグラウンド スレッドからメイン スレッドにランナブルを投稿するにはどうすればよいですか?
他のスレッドからメイン スレッドへの投稿
Android サービスでは、多くの場合、バックグラウンド スレッドがメイン スレッドと対話する必要があります。実行可能ファイルをメッセージ キューに投稿するなど。これを実現するには、次の解決策を検討してください。
解決策 1: コンテキスト オブジェクトを使用する
バックグラウンド スレッドがコンテキスト オブジェクト (アプリケーションやサービスなど) にアクセスできる場合context) を使用して、メイン スレッドのハンドラーを取得できます。
Handler mainHandler = new Handler(context.getMainLooper());
その後、次のことができます。次のように Runnable をメイン スレッドに投稿します。
mainHandler.post(myRunnable);
解決策 2: Looper.getMainLooper() を使用する
バックグラウンド スレッドに Context オブジェクトがない場合、
Handler mainHandler = new Handler(Looper.getMainLooper());
を使用してメインスレッドの Looper を取得できます。これにより、投稿が可能になります。メインスレッドにも実行可能:
mainHandler.post(myRunnable);
以上がAndroid でバックグラウンド スレッドからメイン スレッドにランナブルを投稿するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。