私のAsyncTaskの結果にアクティビティの変数を設定しようとしています。私は変数を返すことができないこと、そして自分のアクティビティで変数を設定してからonPostExecute
メソッドで変数を変更する必要があることを読んだことがあります。ASyncTaskが終了するのを待つか、変数を設定する
私の問題は、AsyncTaskの終了後にその変数を使用する必要があることです。私はこれまで問題を抱えています。これまでに試したすべてのソリューションがUIをフリーズさせてから応答しなくなるからです。
私がこれまで試してみました:
while (!task.isCancelled()) {
// Wait...
}
そして
while (variable == null) {
// Wait ...
}
は私が私の活動にAsyncTaskから変数を渡すための最良の方法をやっているとは何ですか?そうであれば、UIをロックせずに、アクティビティでタスクが終了するのをどのように待つことができますか?
あなたは 'AsyncTask'を待つべきではありません。おそらく、 'onPostExecute()'の中に何かをする必要があります。 – Eric
'onPostExecute()'メソッドでは、自分のアクティビティの変数を結果に変更します。私がしようとしているのは、変数が変更されるまで待つことです。 – Dan
正確には - これをしないでください。 'AsyncTask'の' onPostExecute() '自体は、タスクが完了した後に発生させたい一連のイベントを開始する必要があります。他のコードはそのタスクに頼るべきではありません。 – Eric