J'ai du mal à faire une préférence avec la boîte de dialogue, aucune des méthodes suggérées sur le site ne fonctionne pour moi. Voici donc ce que j'ai d'abord. Dans la MainActivité, j'ai cette
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android" > <Preference android:summary="clears all data" android:title="Reset Data" > <intent android:targetClass="com.example.myapp.settings.DialogActivity" android:targetPackage="com.example.myapp" > </intent> </Preference>
3 Réponses :
Dans ce cas, si vous pouvez utiliser Android Studio, vous pouvez cliquer avec le bouton droit de la souris sur le dossier contenant vos activités et choisir de créer un nouveau Ensuite, dans votre XML pour la barre d'action en MainActivity, configurez le bouton de réglage comme celui-ci: P> Paramètres de paramètres code>.
AlertDialog.Builder alert = new AlertDialog.Builder(self);
alert.setTitle(getResources().getString(R.string.action_about));
//Set up your AlertDialog and buttons
alert.setMessage(message);
alert.setNegativeButton("Okay", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
// Canceled.
}
});
alert.setCancelable(true);
alert.show();
Où puis-je placer cette méthode, comment démarrer la classe qui a cette méthode, s'il vous plaît expliquer plus
En fait, je souhaite que cette boîte de dialogue soit affichée dans la préfectureActivité, comme lorsque je sélectionne des paramètres dans le menu de la MainActivity, la préférence s'ouvre et la première option serait des données claires, donc je souhaite que la boîte de dialogue soit affichée avec confirmation.
D'accord. Dans ce cas, si vous pouvez utiliser Android Studio, vous pouvez cliquer avec le bouton droit sur le dossier contenant vos activités et choisir de créer un nouveau Paramètres de paramètres code>. Vous pouvez toujours utiliser mon code sur la construction d'un AlertDialog dans votre auditeur dans
ParamètresActivity code>.
Et j'ai ajouté des codes supplémentaires dans ma réponse.
Vous pouvez prolonger le DialogPreference . Remplacez la méthode personnagedialogpreference.java em>: p> Préférences.xml em> p> ondialogcled code>, appelée lorsque la boîte de dialogue
code> se ferme. L'argument à la méthode indique si l'utilisateur a sélectionné le bouton
positif code> ou
négatif code>.
<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
<com.example.test1.CustomDialogPreference
android:key="pref_dialog"
android:title="dialog"/>
</PreferenceScreen>
J'aimerais ajouter que vous n'avez pas nécessairement besoin de remplacer la mise en page. Si vous souhaitez simplement afficher un message personnalisé avec la mise en page de confirmation par défaut, vous pouvez utiliser la méthode setDialogMessage () code> à l'intérieur du constructeur avec une carte d'identité de ressource à une valeur de chaîne.
Si vous utilisez la bibliothèque de support V7, c'est un peu compliqué ... Mais je préfère suivre:
Créez d'abord la préférence p> puis lier sur la préférence de fragment p > private void alertForClearAbsenceData(){
AlertDialog.Builder alert = new AlertDialog.Builder(getMainActivity());
alert.setTitle(getString(R.string.fragment_absence_alert_title));
alert.setMessage(getString(R.string.fragment_absence_alert_message));
alert.setCancelable(false);
alert.setPositiveButton(R.string.fragment_absence_ok, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
}
});
alert.show();
}