Внедряю альбомную ориентацию в приложение и уже убил пару дней на поиск способа по сохранению состояния вьюшек.
Помимо текста в EditText'ах, надо сохранять видимость других элементов. По умолчанию они Gone. Пользователь проводит некоторые операции, после чего скрытые вьюхи становятся Visible. Вот после поворота экрана необходимо, что бы эти вьюхи остались видимыми.
Пытаюсь реализовать это с помощью либы Icepick, но либо туториал вообще неинформативен, либо я тупой. Что в этот пример надо добавить, что бы сохранить видимость, к примеру, CardView?
class ExampleActivity extends Activity {
@State String username; // This will be automatically saved and restored
@Override public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Icepick.restoreInstanceState(this, savedInstanceState);
}
@Override public void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
Icepick.saveInstanceState(this, outState);
}
// You can put the calls to Icepick into a BaseActivity
// All Activities extending BaseActivity automatically have state saved/restored
}
Сделал пока так:
boolean isViewVisible;
@Override
protected void onSaveInstanceState(Bundle outState) {
outState.putBoolean("isViewVisible", isViewVisible);
super.onSaveInstanceState(outState);
}
@Override
protected void onRestoreInstanceState(Bundle savedInstanceState) {
super.onRestoreInstanceState(savedInstanceState);
if (savedInstanceState.getBoolean("isViewVisible")) {
if (getResources().getBoolean(R.bool.isTablet) & getResources().getBoolean(R.bool.isLand)) {
view.setVisibility(View.VISIBLE);
}
}
}
Нигде на SO не видел такого подхода. Это не корректно?
Укажите android:id для этих вьюх в разметке. Если вьюхи стандартные, то ОС сделает это за вас.
Продвижение своими сайтами как стратегия роста и независимости