Comment faire un “ne me demandez pas de nouveau” à la boîte de dialogue pop-up? Android
Je suis en train de créer un "conseil" de la boîte de dialogue qui informe l'utilisateur sur l'activation du GPS sur leur téléphone va diminuer la vie de batterie. Je veux qu'il pop-up, mais avoir une case à cocher qui dit: "Ne me demandez pas de nouveau".
Comment puis-je aller sur la création de ce sous Android?
Merci,
Zukky.
AlertDialog.Builder prompt = new AlertDialog.Builder(this);
prompt.setCancelable(false);
prompt.setTitle("Warning");
prompt.setMessage ("HINT: Otherwise, it will use network to find" +
"your location. It's inaccurate but saves on " +
"battery! Switch GPS on for better accuracy " +
"but remember it uses more battery!");
- Juste édité en question principale. J'ai ajouté ^^, mais comment puis-je faire en sorte que je peux ajouter un "Ne me demandez pas de nouveau la case à cocher"? Et il ne fait pas le montrer?
Vous devez vous connecter pour publier un commentaire.
MODIFIER: Méfiez-vous! La duplication de Code à l'avance. Depuis je n'ai plus de développement pour Android, je ne peux pas refactoriser le code ci-dessous.
Il définit une valeur dans Android Préférences et des contrôles pour savoir si elle va afficher la boîte de dialogue ou pas.
checkbox.xml dans ressources/layouts
Activity.java
checkbox.xml
avec des minuscules des noms de balises. Qui ne marche pas, cependant Eclipse ou tout autre IDE montre que ceux-ci sont non valides cas.if (skipMessage != "checked")
de la Comparaison de chaînes avec != ou == est un énorme non-NON! Vous devriez avoir utiliséeditor.putBoolean("skipMessage", dontShowAgain.isChecked())
au lieu deeditor.putString("skipMessage", checkBoxResult);
. Ou, si vous préférez les chaînes,if (!skipMessage.equals("checked"))
Vous aurez à faire un dialogue personnalisée, par exemple un
AlertDialog
sur lequel vous définissez un contenu personnalisé en vue(avecsetView()
). Mise en page personnalisée pourrait être unTextView
(pour présenter de l'information)+ unCheckBox
(avecDo not ask me again
). Dans leOnClickListener
défini pour la boîte de dialogue du bouton, vous obtenez l'état de laCheckBox
et si l'utilisateur a vérifié que vous définissez un drapeau dans les préférences(valeur booléenne true, par exemple).Prochaine fois que l'utilisateur usess l'application, vous pourrez vérifier que la valeur booléenne dans les préférences et si elle est définie à vrai, alors vous ne serez pas afficher la boîte de dialogue sinon l'utilisateur n'a pas vérifié la
CheckBox
si vous lui montrez la boîte de dialogue nouveau.Modifier exemple d'application:
Et la mise en page du contenu de la boîte de dialogue(
R.layout.dialog_content
):J'ai mon moins de code solution. Il n'est pas parfait, parce que la description ne peuvent pas être utilisés et uniquement de l'information peut être passé comme un titre de la boîte de dialogue. MultiChoiceItem est utilisé pour la case à cocher.
dans res/values/strings.xml :
Puis mon code se présente comme suit:
salut, j'ai suivi un tutoriel et j'ai trouvé ce code
vous pouvez utiliser ce code ci-dessous :
j'ai une clarté et une bonne approche de cette question
}`
R.layout.checkbox
?