私はいくつか持っており、それぞれにサーバーにリクエストを送信し、その応答をキャッチするActivities
独自のものがあります。AsyncTask
最近、AsyncTask
が実行中の場合、 ProgressDialog
User から別の へのナビゲーションをブロックする がありますActivities
。ユーザーが を切り替えることができるように、 を取り除き、ProgressDialog
それをビューに置き換えたいと思います。私の懸念は次のことです: で開始され、ユーザーが開始場所に移動した場合、最初のリクエストから取り込まれてしまうので、 でそれを見逃すことはありませんか? 無理ならそれでいい。もしそうなら - そのような場合をどのように扱うのですか?事前にどうもありがとうございました。ProgressBar
Activities
AsyncTaskFirst
ActivityFirst
ActivitySecond
AsyncTaskSecond
response
ActivitySecond
ActivityFirst
2 に答える
AsyncTask
への何らかの参照があると想定しているActivity
ため、進行状況バーを更新できます。その場合は、メソッドを に追加するだけですAsyncTask
。
public void setHandler(MyTaskHandler handler) {
this.handler = handler;
}
新しいアクティビティを開始するときは、このメソッドを呼び出して新しいアクティビティを渡します。次に、が の update progress メソッドをAsyncTask
呼び出すと、タスクが開始された場所に関係なくActivity
、現在のメソッドが使用されます。Activity
ところで:同じコンポーネントでディスプレイの異なる部分のみである場合は、アクティビティではなくフラグメントを使用する方がよい場合があります。その後、アクティビティは同じままであるため、この問題はまったくありません。フラグメントについては、次のガイドを参照してください。
http://developer.android.com/training/basics/fragments/index.html
http://developer.android.com/guide/components/fragments.html
AsyncTask
最初の実行が開始された場合、メソッドActivity
の実行は、明示的に別の方法で設定しない限り、2 番目ではなくpostExecute
1 番目に影響すると予想されます。Activity