AsyncTaskを使用してバックグラウンドでいくつかの作業を実行するAPIが1つのjarファイルにあります。私は結果が返されるのを待ってから、この結果でもう少し勉強しなければなりません。AsyncTask - 更新された値を使用する前にonPostExecute()が完了するのを待つ方法
私はonPostExecute()メソッドで1つのクラスに信号を送り、結果はUIスレッドで処理されますが、ハンドラは別のプロジェクトでコールバックとして定義する必要があります。 onPostExecuteで指定します。
2番目のプロジェクトでは、AsyncTaskが終了して応答が処理されるまで待つ必要があるため、ハンドラの結果を2番目のプロジェクトのアクティビティのTextViewに表示する必要があります。
ハンドリングがUIスレッドで行われるため、Thread.sleepとCountDownLatchを使用すると機能しません。そんなことをする方法はありますか?
こんにちは、アレックス
TextView
、あなたの迅速かつ有用な回答のため どうもありがとうございました。残念ながら(私の悪いことを正しく説明していない、それについて申し訳ありません)これは私のケースでは実際にコールバックハンドラをテストするためにこのTextViewを使用しているので、正しく動作しません。だから問題は本当に私はコールバックのTextViewへの参照を持つことができないと思います。可能であれば、TextViewを更新するための戻り値を '引き出す'必要があり、これらを別々に保つ必要があります。このような状況の中でどのような考えがありますか?質問を明確にするのを手伝ってくれてありがとう:-) –「Messenger」を試すことができます。私はここにリンクを追加したいが、Androidのサイトはダウンしているようだ。 –
メッセンジャーjavadoc:http://developer.android.com/reference/android/os/Messenger.html –