Сохранение состояния активности в android?

Привет, ребята, у меня есть ColorPicker в моем приложении. Когда я устанавливаю цвет, выбранный ColorPicker в ColorPicker Activity , он работает. Но когда я перезапущу приложение, цвет изменится на значение по умолчанию! Как сохранить состояние Activity ? Является ли это возможным? Заранее спасибо!!!

Так, например, вы можете сохранить такой цвет (я просто поместил шестнадцатеричную ссылку на цвет, но вы можете изменить ее так, как хотите):

 public void setBackgroundColor() { SharedPreferences sharedPreferences = getPreferences(Context.MODE_PRIVATE); SharedPreferences.Editor editor = sharedPreferences.edit(); editor.putString("color", "#FFFFFF"); editor.commit(); } 

Затем просто убедитесь, что вы вызываете этот метод каждый раз, когда он загружает / перезагружает:

 public void getBackgroundColor() { SharedPreferences sharedPreferences = getPreferences(Context.MODE_PRIVATE); if (sharedPreferences.contains("color")) { String myColor = sharedPreferences.getString("color", null); mybackground.setBackgroundColor(Color.parseColor(myColor)); } } 

Ответ Энди правильный. Тем не менее, я думал, что буду реагировать на сохранение и загрузку предпочтений. Это универсальные методы Save / Load для строк. Это то, что я использую во всех своих действиях. Это может сэкономить вам много головных болей в будущем!

  public static String PREFS_NAME = "random_pref"; static public boolean setPreference(Context c, String value, String key) { SharedPreferences settings = c.getSharedPreferences(PREF_NAME, 0); settings = c.getSharedPreferences(PREF_NAME, 0); SharedPreferences.Editor editor = settings.edit(); editor.putString(key, value); return editor.commit(); } static public String getPreference(Context c, String key) { SharedPreferences settings = c.getSharedPreferences(PREF_NAME, 0); settings = c.getSharedPreferences(PREFS_NAME , 0); String value = settings.getString(key, ""); return value; } 
Intereting Posts