2011-01-17 11 views
0

私のアプリでは、長い仕事をしていますが、作業が完了していない間にProgress Dialogを使用しています。 私はすべての場所でそれを探していますが、成功していません。私が創り出したものはすべて、ユーザーインターフェイス要素の状態を保存することです。進捗ダイアログの状態を正しく保存する方法は?

次に、プログレスダイアログの状態を正しく保存する方法を知りたいですか?

オリエンテーション画面を変更するとアプリがクラッシュするため、この機能が役立ちます。

私はonSaveInstanceState()メソッドを使用しますか?どうやって ?私はあなたがonRetainNonConfigurationInstanceを()

あなたを使用する必要があり、画面の向きを処理するために...

何かアドバイスがいいだろう...バンドルとしてではなく大成功せず

おかげ

答えて

0

を節約を使用してみてくださいFaster Screen Orientation.

+0

ありがとう!私はonRetainNonConfigurationInstance()について読んでいます:onRetainNonConfigurationChange()は、読み込みに高価なデータを保持するためにのみ使用する必要があります。それで、本当に使いやすいですか?または、以下の答えがより充当されていますか? – rBaggio

+0

あなたの活動は何をしているのか、あなたの活動は長い仕事をしていると言いますから、多くのデータや何かをダウンロードして、その場合はonRetainNonConfigurationChangedを使用すると思います。 use case)私はonConfigurationChanged()を使用します... – Franco

+0

説明のためにありがとう..私はより多くのテストを行い、その後、私が決めたものを入れます...とにかく感謝! – rBaggio

0

私のアプリケーションでこれを行う方法は、以下のようにアクティビティでonConfigurationChanged()メソッドをオーバーライドしています。

@Override 
    public void onConfigurationChanged(Configuration config) { 
     //Just switch the layout without respawning the activity 
     super.onConfigurationChanged(config); 
    } 

これはまだ問題が発生しておらず、オリエンテーションが変更されたときにアクティビティが再読み込みまたは再起動されません。

+0

ありがとう!私はここでいくつかのテストを行いました。 – rBaggio

1

あなたのダイアログを表示する

@Override 
protected Dialog onCreateDialog(int dialogID, Bundle args) 

showDialog(dialogID); 

を使用していないので、私は、姿勢の変化にあなたのダイアログがクラッシュすると思います。 アラートダイアログで同じ問題が発生しました。私が見ているように、そのようにダイアログを作成しないと、それはあなたのアクティビティにリンクされ、アクティビティが死んだとき、ダイアログはまだ新しいアクティビティではなくその死んだアクティビティにアクセスしようとします。

あなたはダイアログを表示している活動のためのマニフェストファイルにこれを追加する必要が
1

android:configChanges="keyboardHidden|orientation" 
関連する問題