私はアンドロイドアプリに取り組んでいます。私のアプリは、縦向きと横向きの両方のモードで動作するはずです。すべてのレイアウト ファイルを layout-lan フォルダーに保存して、すべてのレイアウトを調整しました。しかし、今私の問題は機能にあります。つまり、アプリが横向きモードに変更されると、パラメーターの値が変更され、これによりクラッシュが発生します。つまり、カウンター値を保持していましたが、ポート LAN にすると間違ったカウント値が表示されます。また、これにより機能が変更されています。この点で私を助けてください。
質問する
1125 次
3 に答える
1
デバイスを回転させるたびに、onCreate メソッドが再度呼び出されます。onSavedInstanceState をオーバーライドして値を保存し、onRestoreInstanceState または onCreate メソッドで値を取得できます。例えば:
値を保存します。
public void onSaveInstanceState(Bundle outState) {
outState.putBoolean("booleanValue", true);
}
値を復元します (これは onCreate でも呼び出すことができます):
protected void onRestoreInstanceState(Bundle savedInstanceState) {
if (savedInstanceState != null && savedInstanceState.containsKey("booleanValue")) {
boolean myBoolean = savedInstanceState.getBoolean("booleanValue");
}
super.onRestoreInstanceState(savedInstanceState);
}
于 2013-02-25T16:11:38.720 に答える
0
ローテーション中にアクティビティが破棄されて再構築されるため、これらの値が変化します。
アクティビティの状態を保存する方法については、開発者ガイドを確認してください。
http://developer.android.com/training/basics/activity-lifecycle/recreating.html#SaveState
于 2013-02-25T16:07:22.457 に答える
0
向きが変わるたびにアクティビティが再開されます。
に値を保存しonSaveInstanceState
、に復元する必要がありonRestoreInstanceState
ます。詳細はこちらにあります: http://developer.android.com/guide/topics/resources/runtime-changes.html
于 2013-02-25T15:56:33.947 に答える