Hallo
du benutzt ja schon richtiger weise den Textwatcher. Nur die falsche Methode.
Dafür ist die public void beforeTextChanged(CharSequence s, int start, int count, int after) besser geeignet.
Die wird bei jeden Tasten Druck aufgerufen
In s ist der String bevor die Taste gedrückt wurde. Also auch bei start 0, count 1, after 0 wenn du genau darauf reagierst und dir das Zeichen was in s ist merkst wirst du weiter kommen.
Nicht umsonst werden dir alle drei Methoden zur Verfügung gestellt.
Dann machedir ein Log in jede Methode und teste was da passiert.
Java
ed.addTextChangedListener(new TextWatcher() {
String st ="";
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
Log.i("test","bevor: "+s+ " start:"+start+ " count:"+count+ " after:"+after);
if(start==0 & count==1 & after==0){
st=s.toString();
}
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
Log.i("test","Changed: "+s+ " start:"+start+ " before:"+before+ " count:"+count);
}
@Override
public void afterTextChanged(Editable s) {
Log.i("test","After: "+s);
}
});
Alles anzeigen