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