2013-10-10 3 views
1

Я пишу небольшое приложение, которое сохраняет ваши предпочтения. В основном действии эти предпочтения должны отображаться. Однако, возвращаясь из класса PreferenceActivity, я все равно получаю старые значения. Этот вид обновляется только после того, как я действительно покинул приложение с помощью кнопки «Назад».Обновить TextView on return from Activity

Я попытался поместить команду setText в функции onResume() и onRestoreInstanceState(), но ни один из них не обновляет ее.

Что нужно сделать, чтобы его обновить?

+2

вы проверили, есть ли в последнее время один или старше один значение предпочтения передается в методе onResume. Вставьте код своей деятельности, чтобы можно было правильно понять проблему. – pyus13

+0

Да, это на самом деле проблема ... спасибо. – spurra

ответ

1

Вы Шоуда переопределять onSharedPreferenceChanged реагировать на измененном предпочтения:

@Override 
public void onSharedPreferenceChanged(SharedPreferences sharedPreferences,String key) { 
    //code 
} 
+0

Это на самом деле хороший совет. Благодаря! – spurra

1

Если PreferenceActivity непосредственно вызывается из вашей основной деятельности, решение было бы начать PreferenceActivity с помощью метода startActivityForResult. Этот метод позволяет передавать некоторые данные из активности, которая запускается для запуска этой операции. Это означает, что вам придется реализовать в своей основной деятельности метод onActivityResult.

Если вы выбираете это решение, проверить статью «получение результата от деятельности» на официальном документе: http://developer.android.com/training/basics/intents/result.html