-4

アクティビティに 2 つのアクティビティがあります。進行状況バーで構成される非同期タスクを呼び出しています。タスクが完了すると、完了したユーティリティ タスクが読み込まれます。最初のアクティビティ画面をクリックすると、アクティビティが読み込まれます。2 番目のアクティビティから戻るボタンをクリックすると、最初に移動します。アクティビティが進行状況バーがロードされており、閉じられていない

4

2 に答える 2

3

あなたの質問から私が理解したのは、他のアクティビティが表示されたときに進行状況バーを画面から非表示/削除したいということです。現在のアクティビティの onPause() で削除できます。

例えば:

あなたは入っActivity Bていて、プログレスバーはまだ画面に表示されています. Activity Aタスクが完了する前に戻ると、次onPauseの方法で進行状況バーを削除できますActivity B

@Override
public void onPause()
{
  super.onPause();

  progressBar.dismiss();
}

AsyncTask 拡張クラスと onPause() の両方でアクセスできるように、そのスコープがグローバルになるように、他のメソッドの外でプログレス バー オブジェクトを作成してください。

実行中のタスクが完了したときに非表示にしたい場合はAsyncTask、メソッドで削除できますonPostExecute()

于 2013-08-14T08:46:36.360 に答える
0

私が想定しているように ProgressDialog を使用している場合は、インスタンスで setCancelable(true) を呼び出すことができます。その後、バックプレスで閉じます。

于 2013-08-14T08:25:11.423 に答える