В моем приложении, когда пользователь предоставляет три входа, начинается запуск AsyncTask
, который подключается к серверу и получает информацию еще для двух полей. Как только AsyncTask
закончен, я хочу установить эти два полученных значения на открытой странице настроек.Update EditTextPreference Summary on Post SyncTask
Я искал и пробовал этот код, но не обновлял сводку для полей, значение которых было выбрано с сервера.
Проблема: я не могу установить значения, полученные от сервера, в виде сводки до EditTextPreference
. Если я снова открываю страницу, она показывает значение не без повторного открытия.
@Override
public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) {
updatePreference(key);
}
private void updatePreference(String key) {
if (key.equals("id")) {
Preference preference = findPreference(key);
if (preference instanceof EditTextPreference) {
EditTextPreference editTextPreference = (EditTextPreference) preference;
if (editTextPreference.getText().trim().length() > 0) {
editTextPreference.setSummary(editTextPreference.getText());
} else {
editTextPreference.setSummary("");
}
}
} else if (key.equals("sclass")) {
Preference preference = findPreference(key);
if (preference instanceof EditTextPreference) {
EditTextPreference editTextPreference = (EditTextPreference) preference;
if (editTextPreference.getText().trim().length() > 0) {
editTextPreference.setSummary(editTextPreference.getText());
} else {
editTextPreference.setSummary("");
}
}
}
}
Вы имеете в виду, что делает получает обновление, если закрыть приложение и открыть или не делает этого никогда обновлять? –
получает обновленное резюме в edittextpreference, если я снова открываю страницу настроек. – Panache
, чтобы вы могли отображать изменения без повторного открытия? правильно? –