Ecco la soluzione per voi ....
Basta aggiungere i caratteri della stringa che si desidera allowed
final String allowed = "abcdefghijklmnopqrstuvwxyz";
final EditText editText = (EditText)findViewById(R.id.edit001);
editText.addTextChangedListener(new TextWatcher() {
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
char currentChar = s.charAt(start);
System.out.println(currentChar);
if(allowed.contains(Character.toString(currentChar)))
{
//Nothing to do
}
else
{
editText.setText(editText.getText().toString().substring(0, editText.getText().toString().length()-1));
int position = editText.length();
Editable etext = editText.getText();
Selection.setSelection(etext, position);
}
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count,
int after) {
// TODO Auto-generated method stub
}
@Override
public void afterTextChanged(Editable arg0) {
// TODO Auto-generated method stub
}
});
fonte
2013-06-14 10:57:24
Perché questo ancora chiuso? Sta chiedendo come fare qualcosa che non sia affatto ambigua. L'unica ambiguità che posso vedere qui è che esiste più di un modo per ottenere ciò che vuole, ma questo è il caso del 90% delle domande qui (il 90% è stato inventato). –
Assolutamente, questa è una domanda reale, chiaramente definita e ben compresa. È stato erroneamente contrassegnato come chiuso da Andrew Barber. Le risposte a questa domanda sono anche più preziose. Ho dato sia questa domanda sia il commento sopra +1. –
@MarioS Ho modificato il motivo di chiusura in uno più preciso. –