Dans mon application, je voudrais afficher un avertissement lors de l'utilisation d'une certaine préférence dans mon application. J'ai essayé d'utiliser le PreferenceActivity.onPreferenceTreeClick et le onPreferenceClickListener, mais aucun ne semble fonctionner. J'ai le dernier exemple ci-dessous. Quelqu'un pourrait-il nous éclairer?Override cliquez sur android prefenceactivity
@Override
protected void onCreate(Bundle saved) {
super.onCreate(saved);
addPreferencesFromResource(R.xml.prefs);
Preference gridview = findPreference("fcngrid");
gridview.setOnPreferenceClickListener(overrider);
}
public OnPreferenceClickListener overrider = new OnPreferenceClickListener() {
public boolean onPreferenceClick(Preference pref) {
if (pref.getTitle() == "Default as grid")
showDialog(0);
return false;
}
};
protected Dialog onCreateDialog(int id) {
AlertDialog.Builder b = new AlertDialog.Builder(this);
b.setTitle("Warning")
.setMessage("Unfortunately, this feature is currently unstable, and will be" +
" fixed soon.")
.setPositiveButton("OK", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.cancel();
}
});
return b.create();
}
Veuillez définir "mais rien ne semble fonctionner". – CommonsWare
Désolé, aucune des deux méthodes ne montre le dialogue sur showDialog (0). C'est très étrange, j'ai utilisé le débogueur et il arrive à l'instruction if; même si je copie et colle le titre de préférence (ou la clé que j'utilise maintenant) à partir d'un point d'arrêt, il ne dit toujours pas que l'instruction est vraie ... le débogueur montre que cela devrait marcher mais ce n'est pas le cas. Je dois souligner que si je commente la déclaration if cela fonctionne bien, juste sur chaque élément. –