1
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    Init();
    backthread tr=new backthread();
    tr.execute(0,0,0);
}

backthreadは、MainActivityで実行されているプログラムのときにAsyncTaskを実装するクラスであり、プログレスバーの値は0から100に増加します(バックスレッドでその値を変更します)が、他のアクティビティに移動して戻ると、プログレスバーは0から100に再起動します。他のアクティビティに移動して戻るときに、プログレスバーの値を増やし続けたい。私は何をすべきか ?

4

2 に答える 2

0

バックスレッドクラスのcurrentUptaeでint変数を保持でき、onProgressUpdaeteでもこの変数を更新できると思います。

のゲッターとセッターを作成し、OnRestartまたはonStart.......でこのcurrentUptae変数によってプログレスバーを更新します。

于 2012-06-19T09:06:13.483 に答える
0

doInBackground()では、publishProgress(progress ++)を使用して進行状況の結果を更新し、

   @Override
    protected void onProgressUpdate(Integer... values) {
      super.onProgressUpdate(values);
      tvInfo.setText("Downloaded " + values[0] + " files"); // progress bar 
    }
于 2012-06-19T09:06:48.223 に答える