2011-07-02 13 views
0

ProgressDialogが実行され、スレッドハンドルからの完了率を受け入れています。画面がロックされてロックが解除されると、アプリはアプリのホーム画面に戻り、ProgressDialogを表示し続けません。画面ロック後にProgressDialogが無効になる

ProgressDialogを使用して同じページに戻るにはどうすればよいですか?私は何とかハンドルリソースを保存し、onResumeでそれを再作成する必要があると仮定しますが、これを行う方法がわかりません。

ありがとうございました。

答えて

0

あなたは正しい軌道に乗っているようです。クラス変数showProgressDialogとmyProgressがあると仮定します。

@Override 
protected void onResume() { 
    super.onResume(); 
    if(showProgressDialog) 
     { 
     myProgressDialog.show(); 
     myProgressDialog.setProgress(myProgress); 
     } 

} 
+0

画面がロックされているときにアクティビティが再作成されますか?もしそうなら、私は古いスレッドハンドルにアクセスすることはできません。したがって、進捗状況を受け取ることはできません。ありがとう。 – Nick

+0

それは異なります。 osがメモリを必要とする場合、あなたの活動は殺されるかもしれません。だから、あなたはhttp://developer.android.com/reference/android/app/Activity.html#onSaveInstanceState%28android.os.Bundle%29とhttp://developer.android.com/referenceを使うことができます。 /android/app/Activity.html#onRestoreInstanceState%28android.os.Bundle%29 – Emiam

+0

スレッドハンドラはオブジェクトであるため、onSave/RestoreInstanceStateは機能しません。また、アプリケーションが復元されると、ProgressDialogが表示されているサブページの1つではなく、ホームページのアクティビティが表示されます。アプリがちょうど再読み込みされたようです。 – Nick

関連する問題