Я не знаю, что именно вы пытались, но если все, что вы хотите сделать, это сохранить состояние для последующего использования, вы, безусловно, можете сделать это с помощью SharedPreferences. Вы можете сделать что-то вроде этого, чтобы сохранить состояние в виде строки, представляющей состояние:
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences();
SharedPreferences.Editor editor = prefs.edit();
editor.putString("cv1_visibility", "VISIBLE");
editor.putString("cv2_visibility", "INVISIBLE");
editor.putString("cv3_visivility", "GONE");
...
editor.commit();
, а затем вы можете прочитать эти значения следующим образом:
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences();
String cv1_state = prefs.getString("cv1_visibility", "NOT_FOUND");
String cv2_state = prefs.getString("cv2_visibility", "NOT_FOUND");
String cv3_state = prefs.getString("cv3_visibility", "NOT_FOUND");
...
и затем обработать его соответствующим образомна основании состояния в начале вашей деятельности. Обратите внимание, что getString()
имеет параметр defValue
(второй), который является значением, возвращаемым, если предпочтения не существует.
РЕДАКТИРОВАТЬ: Вы можете сохранить их как int, но помните, что некоторые из этих констант не являются int. Взгляните на это, чтобы понять, что я имею в виду: https://developer.android.com/reference/android/view/View