0

私はいくつか持っており、それぞれにサーバーにリクエストを送信し、その応答をキャッチするActivities独自のものがあります。AsyncTask最近、AsyncTaskが実行中の場合、 ProgressDialogUser から別の へのナビゲーションをブロックする がありますActivities。ユーザーが を切り替えることができるように、 を取り除き、ProgressDialogそれをビューに置き換えたいと思います。私の懸念は次のことです: で開始され、ユーザーが開始場所に移動した場合、最初のリクエストから取り込まれてしまうので、 でそれを見逃すことはありませんか? 無理ならそれでいい。もしそうなら - そのような場合をどのように扱うのですか?事前にどうもありがとうございました。ProgressBarActivitiesAsyncTaskFirstActivityFirstActivitySecondAsyncTaskSecondresponseActivitySecondActivityFirst

4

2 に答える 2

0

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

于 2013-05-09T10:08:43.430 に答える
0

AsyncTask最初の実行が開始された場合、メソッドActivityの実行は、明示的に別の方法で設定しない限り、2 番目ではなくpostExecute1 番目に影響すると予想されます。Activity

于 2013-05-09T10:12:02.540 に答える