Сохранить SharedPreferences из TextView

Я делаю приложение, в котором хочу сохранить текст TextView в SharedPreferences. Я хочу, чтобы SharedPreferences обновлялись при изменении TextView.


person Magakahn    schedule 15.03.2012    source источник
comment
Это возможно. Это было бы так же, как добавление настроек, вместо жесткого кода возьмите значение текстового поля. Вы пробовали что-нибудь?   -  person kosa    schedule 15.03.2012


Ответы (1)


Я бы порекомендовал что-то в этом роде:

final SharedPreferences prefs = PreferenceManager
    .getDefaultSharedPreferences(this);

text.addTextChangedListener(new TextWatcher() {
    @Override
      public void onTextChanged(CharSequence s, int start, int before,
                                int count)
    {
      prefs.edit().putString("autoSave", s.toString()).commit();
    }

    @Override
      public void beforeTextChanged(CharSequence s, int start, int count,
                                    int after)
    {
    }

    @Override
      public void afterTextChanged(Editable s)
    {
    }
  });
person dldnh    schedule 15.03.2012
comment
Как использовать предпочтение из другого класса? - person Magakahn; 15.03.2012
comment
не уверен, что вы спрашиваете, вы имеете в виду, как вы используете это текстовое значение, которое вы автоматически сохранили? или вы имеете в виду что-то другое? - person dldnh; 15.03.2012
comment
Я не думаю, что мне нужен текстовый наблюдатель. Мне просто нужно сохранить TextView. Я думаю, что могу обновить его с помощью onClickListener. - person Magakahn; 15.03.2012
comment
ты можешь делать prefs.edit().putString("autoSave", s.toString()).commit(); где угодно - person dldnh; 15.03.2012
comment
@dldnh У меня тоже есть похожий вопрос. Я хочу сохранить текст Edit Text в SharedPreferences. Я хочу, чтобы SharedPreferences обновлялись при изменении текста из «Редактировать текст». Я использую представленный код, но когда я перезапускаю приложение, измененного текста там нет. Можете ли вы предложить мне, что я делаю неправильно - person bhanu kaushik; 08.02.2014