Как получить экземпляр состояния активности (комплект) по запросу?
Как получить пакет, который предоставляется этому методу по запросу (Bundle outState)?
@Override
protected void onSaveInstanceState(***Bundle outState***) {
super.onSaveInstanceState(outState);
// Only if you need to restore open/close state when
// the orientation is changed
if (adapter != null) {
adapter.saveStates(outState);
}
}
3 ответа
Это Bundle
отправлено в OnCreate
метод в вашей деятельности.
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if (savedInstanceState != null) {
savedInstanceState.getString("bla");
}
}
Обратите внимание, что вам нужно будет проверить наличие нулевого значения, поскольку при первом создании действия оно будет иметь нулевое значение, поскольку предыдущего состояния не было.
см. https://developer.android.com/guide/components/activities/activity-lifecycle.html для получения дополнительной информации
В экземпляре Bundle вы можете передать данные и вернуть их обратно в метод onCreate(). как после
outState.putString("key1", "data1");
outState.putBoolean("key2", "data2");
outState.putInt("key3", "data3");
и в onCreate получить его следующим образом
if (savedInstanceState != null){
data_1 = savedInstanceState.getString("keys1");
data_2 = savedInstanceState.getBoolean("keys2");
data_3 = savedInstanceState.getInt("keys3");
}
Вы можете получить сохраненный пакет обратно, используя метод ниже:
@Override
public void onRestoreInstanceState(Bundle savedInstanceState) {
// get your saved bundles back here
}
Просто обратитесь к этой странице разработчика, вы получите четкое представление об этом