0

XML に特定のデフォルト値が設定された静的テキストビューがあります。後で、その変数を別のものに設定しましたが、向きが変わるたびに、再初期化していなくても、静的変数の値がデフォルトに戻ります。これはなぜでしょうか?onCreate() が呼び出された後でも値が保持されるべきではありませんか?

4

3 に答える 3

1

呼び出されたときonCreate()、あなたもsetContentView()通常どおり呼び出すと思います。Viewsこれにより、すべてがデフォルト値で再描画されます。構成の変更を処理する必要があります

それを処理する方法については、私のこの回答を参照してください。推奨される使用方法ですがonSavedInstanceState、通常は自分で処理し、問題は発生していません...

于 2013-05-21T19:04:55.730 に答える
0

これは、Android アプリのライフサイクルに関係しています。回転するたびに、アプリケーションはすべてのライフサイクル メソッド呼び出しを通過します。バンドル内に現在の状態を保存しonCreate、ローテーションが発生した後にそのデータを復元する必要があります。

于 2013-05-21T19:05:33.857 に答える
0

向きの変更中、Android はすべてのレイアウトを再作成します。idウィジェットの状態を保存するには、 TextView 要素に を割り当てるだけです。

<TextView
    android:id="@+id/tv_caption"
    ...
/>
于 2013-05-21T19:07:21.717 に答える