Mam działanie Preferences w moim kodzie. Chcę pokazać toast, gdy kiedykolwiek użytkownik zmieni przycisk opcji Listpreferences. Użyłem tego kodu, ale dawka nie działa. :(Metoda onPreferenceChange nie jest wywoływana, gdy zmienia się 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;
}
});
}
}
co jest moim problemem
Należy edytować nowe informacje do istniejącego pytania: [Pokaż tosty, gdy użytkownik zmienia ustawienie w aktywności preferencji] (http://stackoverflow.com/q/13665409/1267661), zamiast tworzyć nowe pytanie. Zapoznaj się z [FAQ] na temat możliwych sposobów zwrócenia większej uwagi na swoje pytania. – Sam
@Reza_rg: masz spróbować'Log.v ("ListPreference", "onPreferenceChange"); ', aby zobaczyć OnPreferenceChange jest wywoływana lub nie w logcat? –
@imrankhan Próbowałem go teraz i wydaje mi się, że nie można wywołać w PreferencjiChange. co mam teraz zrobić? –