Sinds vandaag ben ik een begonnen met het leren van de Android SDK. Basis dingentjes lukken mij al wel, echter loop ik nu vast op het afhandelen van keyevents op een EditText.
Ik heb dus een EditText met daarop een paar InputFilters, namelijk:
Dit zorgt ervoor dat het alleen maar CAPITAL letters in mogen, een lengte van 1 en alleen maar A-Z characters. Dit werkt allemaal naar behoren, maar nu wil ik dat zodra er een letter aan getikt wordt hij de EditText leeg maakt zodat er plaats gemaakt wordt voor de volgende letter.
Ik heb al enorm veel lopen zoeken en verschillende methodes geprobeerd. Extenden van de EditText en daar een onKeyDown event overriden, geen succes.
Ook heb ik geprobeerd met een TextWatcher te werken maar dit mocht ook niet baten.
Kan iemand mij uitleggen wat ik verkeerd doe en hoe ik wel een "keydown" kan toepassen op een EditText?
Ik heb dus een EditText met daarop een paar InputFilters, namelijk:
Java:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
| InputFilter filter = new InputFilter() { public CharSequence filter(CharSequence source, int start, int end, Spanned dest, int dstart, int dend) { for (int i = start; i < end; i++) { if (!Character.isLetter(source.charAt(i))) { return ""; } } return null; } }; EditText test = (EditText) findViewById(R.id.editText1); test.setFilters(new InputFilter[] { new InputFilter.AllCaps(), new InputFilter.LengthFilter(1), filter }); |
Dit zorgt ervoor dat het alleen maar CAPITAL letters in mogen, een lengte van 1 en alleen maar A-Z characters. Dit werkt allemaal naar behoren, maar nu wil ik dat zodra er een letter aan getikt wordt hij de EditText leeg maakt zodat er plaats gemaakt wordt voor de volgende letter.
Ik heb al enorm veel lopen zoeken en verschillende methodes geprobeerd. Extenden van de EditText en daar een onKeyDown event overriden, geen succes.
Ook heb ik geprobeerd met een TextWatcher te werken maar dit mocht ook niet baten.
Kan iemand mij uitleggen wat ik verkeerd doe en hoe ik wel een "keydown" kan toepassen op een EditText?