Voici ma première question ici. Je crée une boîte de dialogue pour entrer un nom de joueur dans un menu de jeu, mais je veux restreindre les caractères possibles (seulement des lettres et des chiffres, et sinon exclure au moins le retour) et éviter d'appuyer sur le bouton ok si le champ est vide, mais je ne peux pas comprendre comment faire cela. Y a-t-il aussi un moyen de définir l'action par défaut sur retour à ok? Je sais que beaucoup d'applications utilisent ceci pour faire des entrées plus rapidement. Voici ce que j'ai:Besoin de restriction d'entrée dans AlertDialog
public String tmPlayerName;
...
public void playerDialog() {
dialogOpen = true;
AlertDialog.Builder alert = new AlertDialog.Builder(this);
alert.setTitle("Change player");
alert.setMessage("Enter player name (cannot be empty)");
final EditText input = new EditText(this);
input.setText(tmPlayerName);
input.
alert.setView(input);
alert.setPositiveButton("Ok", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
tmPlayerName = input.getText().toString();
}
}
});
alert.setNegativeButton("Cancel",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
}
});
alert.show();
}
EDIT: L'application est construite en utilisant Android 4.0 et utilise des services Google Play si c'est-à toute aide.
Voir cette réponse: http://stackoverflow.com/a/14192231/2649012 –
La solution donnée dans le lien me limite pour entrer quoi que ce soit. Des idées sur la façon de restreindre une soumission vide? –
La réponse montrée donne une solution pour 'vouloir restreindre les caractères possibles (seulement des lettres et des nombres' alors il est très facile de rejeter un texte vide' if (myEdt.getText(). ToString.equals ("")) {} ' –