私のアクティビティ (2 つのタブを持つタブ アクティビティ) の向きが変更されると、アイテムのリストビュー (チェックボックス付き) を持つ別のアクティビティであるタブのコンテンツが空白になります。マニフェスト ファイルで使用android:configChanges="screenSize|orientation"
したので、向きの変更時にチェックボックスをクリア (または再作成) したくありません。
誰でもこの問題について私を助けてもらえますか?
私のアクティビティ (2 つのタブを持つタブ アクティビティ) の向きが変更されると、アイテムのリストビュー (チェックボックス付き) を持つ別のアクティビティであるタブのコンテンツが空白になります。マニフェスト ファイルで使用android:configChanges="screenSize|orientation"
したので、向きの変更時にチェックボックスをクリア (または再作成) したくありません。
誰でもこの問題について私を助けてもらえますか?
ビューの状態を Android のアクティビティ内に保存するには、 メソッドonSaveInstanceState(Bundle outState)
とonRestoreInstanceState(Bundle savedInstanceState)
メソッドを実装する必要があります。これらのメソッドの詳細については、 Android デベロッパー ガイドを参照してください。
onSaveInstanceState(Bundle outState)
構成の変更 (向きの変更) でアクティビティが破棄されたときに呼び出されます。このメソッドでバンドルにデータを追加し、 を使用してアクティビティが再開されたときにデータを取得できますonRestoreInstanceState(Bundle savedInstanceState)
。
例えば:
@Override
protected void onRestoreInstanceState(Bundle savedInstanceState) {
super.onRestoreInstanceState(savedInstanceState);
// Read values from the "savedInstanceState" bundle and put them back into the corresponding textviews
}
@Override
protected void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
// Save the values you need from your textviews into the outState object
}
データをバンドルに保存する方法の詳細については、Android デベロッパー ガイドを参照してください。onCreate(Bundle savedInstanceState)
これは、 と を使用して状態を復元することの違いも説明していonRestoreInstanceState(Bundle savedInstanceState)
ます。