Как спрятать view при нажатии, и при последующем запуске Fragment?

у меня есть информационная карточка CardView_attention, где есть кнопка Button_attention, мне надо что бы при нажатии на кнопку, карточка скрывалась (visibility.GONE) и при последующем onCreateView она не отображалась, если кнопка уже была нажата

Все это происходит во Fragment, если это так важно


Ответы (1 шт):

Автор решения: Andrew

Можно сделать при помощи 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 в зависимости от значения хранящегося в памяти. Вот туториал по работе с найтройками.

→ Ссылка