2010-11-22 27 views
8

J'ai un EditText dans lequel je dois accepter alphanumérique entrée d'un utilisateur spécifique à motif et traits d'union « - » sont insérés automatiquement.entrée EditText avec motif Android

"XXX-XXX-XXXX" 

comment y parvenir? Y at-il un outil de modèle dans Android?

+0

double possible de [édition en direct d'entrée des utilisateurs] (http://stackoverflow.com/questions/4172242/live-editing- of-users-input) – bummi

Répondre

2

Vous pouvez utiliser addTextChangedListener à EditText
Envoyer cette question, qui démontrent qu'il

3

Vous pouvez y parvenir avec PatternedTextWatcher.

Edit:

EditText editText = (EditText) findViewById(R.id.edittext); 

// Add text changed listener for automatic dots insertion. 
editText.addTextChangedListener(new PatternedTextWatcher("###-###-####")); 

Et en XML:

<EditText 
    android:id="@+id/edittext" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:digits="1234567890-"/> 
+0

Solution élégante. Merci –

+0

Il n'a pas suivi de modèle lorsque j'ai essayé de supprimer des caractères à la position intermédiaire aléatoire, puis a continué à ajouter de nouveaux caractères à partir de cette position. –