Как спрятать view при нажатии, и при последующем запуске Fragment?
у меня есть информационная карточка CardView_attention, где есть кнопка Button_attention, мне надо что бы при нажатии на кнопку, карточка скрывалась (visibility.GONE) и при последующем onCreateView она не отображалась, если кнопка уже была нажата
Все это происходит во Fragment, если это так важно
Ответы (1 шт):
Можно сделать при помощи SharedPreferences. При нажатии на кнопку впервые вы будете записывать данные в память устройства. Например так:
SharedPreferences settings = context.getSharedPreferences(PERSISTANT_STORAGE_NAME, Context.MODE_PRIVATE);
SharedPreferences.Editor editor = settings.edit();
editor.putBoolean("clicked", true).apply();
Дальше в функции onCreateView() при повторном запуске вы будете проверять есть ли данная переменная в памяти устройства:
SharedPreferences settings = context.getSharedPreferences(PERSISTANT_STORAGE_NAME, Context.MODE_PRIVATE);
settings.getBoolean("clicked", false);
и дальше можно сделать простую проверку получаемой переменной:
if(settings.getBoolean("clicked", false)){
}
таким образом вы сможете скрывать и показывать данное view в зависимости от значения хранящегося в памяти. Вот туториал по работе с найтройками.