У меня есть функция настроек в моем коде. Я хочу показать тост, когда пользователь меняет радиокнопку в Listpreferences. Я использовал этот код, но он не работал. :(onPreferenceChange метод не вызывается, когда изменения Listpreferences
public class PrefsActivity extends PreferenceActivity implements OnSharedPreferenceChangeListener{
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.prefs);
}
public void onSharedPreferenceChanged(SharedPreferences arg0, String key) {
ListPreference listPreference = (ListPreference) findPreference(key);
listPreference.setOnPreferenceChangeListener(new OnPreferenceChangeListener() {
@Override
public boolean onPreferenceChange(Preference preference, Object newValue) {
// TODO Auto-generated method stub
Toast.makeText(PrefsActivity.this, "second", Toast.LENGTH_LONG).show();
return false;
}
});
}
}
, что моя проблема
Вы должны отредактировать эту новую информацию в существующий вопрос: [Показывать тост, когда пользователь меняет настройку в настройках] (http://stackoverflow.com/q/13665409/1267661), а не создавать новый вопрос. Пожалуйста, ознакомьтесь с [FAQ] о приемлемых способах привлечения внимания к вашим вопросам. – Sam
@Reza_rg: у вас есть try'Log.v («ListPreference», «onPreferenceChange»); 'видеть onPreferenceChange вызывается или нет в logcat? –
@imrankhan Я попробовал это сейчас, и кажется, что onPreferenceChange не нужно называть. Что мне теперь делать? –