Gelöschter Account
- Forum-Beiträge: 4
19.10.2011, 12:57:33 via Website
19.10.2011 12:57:33 via Website
Hallo zusammen!
Ich habe ein Problem, von dem ich hoffe, dass ihr mir weiterhelfen könnt.
In einer Activity sind sechs Textfelder (EditText) definiert.
Sechzehn Buttons dienen dazu, etwas in diese Felder einzugeben (die virtuelle Tastatur habe ich abgeschaltet durch (myEditText.setInputType(InputType.TYPE_NULL)).
Nun möchte ich Android dazu bewegen zum nächsten EditText zu springen, wenn ein Butto gedrückt wurde.
Dazu habe ich eine Methode onButtonClick eingerichtet:
Das funktioniert aber so nicht. Wenn ich ein Wert in ein Feld (per Button) eingebe, erscheint dieser Wert zeitgleich in den übrigen 5 Felder und der Fokus wechselt nicht. Was mache ich falsch? Hat jemand eine Idee?
Vielen Dank im Voraus!
Jan
Ich habe ein Problem, von dem ich hoffe, dass ihr mir weiterhelfen könnt.
In einer Activity sind sechs Textfelder (EditText) definiert.
Sechzehn Buttons dienen dazu, etwas in diese Felder einzugeben (die virtuelle Tastatur habe ich abgeschaltet durch (myEditText.setInputType(InputType.TYPE_NULL)).
Nun möchte ich Android dazu bewegen zum nächsten EditText zu springen, wenn ein Butto gedrückt wurde.
Dazu habe ich eine Methode onButtonClick eingerichtet:
public void onButtonClick(View v) {
String wert = "";
switch (v.getId()) {
case R.id.reihe1_X: { wert = "X"; break; }
case R.id.reihe1_10: { wert = "10"; break; }
case R.id.reihe1_9: { wert = "9"; break; }
case R.id.reihe1_8: { wert = "8"; break; }
case R.id.reihe2s_7: { wert = "7"; break; }
case R.id.reihe2n_7: { wert = "7"; break; }
case R.id.reihe2s_6: { wert = "6"; break; }
case R.id.reihe2s_M: { wert = "M"; break; }
case R.id.reihe2n_6: { wert = "6"; break; }
case R.id.reihe2n_5: { wert = "5"; break; }
case R.id.reihe2n_4: { wert = "4"; break; }
case R.id.reihe3_3: { wert = "3"; break; }
case R.id.reihe3_2: { wert = "2"; break; }
case R.id.reihe3_1: { wert = "1"; break; }
case R.id.reihe3_M: { wert = "M"; break; }
case R.id.reihe4_Clear: { wert = ""; break; }
}
if (findViewById(R.id.wert1).hasFocus()) {
((EditText) findViewById(R.id.wert1)).setText(wert);
((EditText) findViewById(R.id.wert2)).requestFocus();
}
if (findViewById(R.id.wert2).hasFocus()) {
((EditText) findViewById(R.id.wert2)).setText(wert);
((EditText) findViewById(R.id.wert3)).requestFocus();
}
if (findViewById(R.id.wert3).hasFocus()) {
((EditText) findViewById(R.id.wert3)).setText(wert);
((EditText) findViewById(R.id.wert4)).requestFocus();
}
if (findViewById(R.id.wert4).hasFocus()) {
((EditText) findViewById(R.id.wert4)).setText(wert);
((EditText) findViewById(R.id.wert5)).requestFocus();
}
if (findViewById(R.id.wert5).hasFocus()) {
((EditText) findViewById(R.id.wert5)).setText(wert);
((EditText) findViewById(R.id.wert6)).requestFocus();
}
if (findViewById(R.id.wert6).hasFocus()) {
((EditText) findViewById(R.id.wert6)).setText(wert);
((EditText) findViewById(R.id.wert1)).requestFocus();
}
}
String wert = "";
switch (v.getId()) {
case R.id.reihe1_X: { wert = "X"; break; }
case R.id.reihe1_10: { wert = "10"; break; }
case R.id.reihe1_9: { wert = "9"; break; }
case R.id.reihe1_8: { wert = "8"; break; }
case R.id.reihe2s_7: { wert = "7"; break; }
case R.id.reihe2n_7: { wert = "7"; break; }
case R.id.reihe2s_6: { wert = "6"; break; }
case R.id.reihe2s_M: { wert = "M"; break; }
case R.id.reihe2n_6: { wert = "6"; break; }
case R.id.reihe2n_5: { wert = "5"; break; }
case R.id.reihe2n_4: { wert = "4"; break; }
case R.id.reihe3_3: { wert = "3"; break; }
case R.id.reihe3_2: { wert = "2"; break; }
case R.id.reihe3_1: { wert = "1"; break; }
case R.id.reihe3_M: { wert = "M"; break; }
case R.id.reihe4_Clear: { wert = ""; break; }
}
if (findViewById(R.id.wert1).hasFocus()) {
((EditText) findViewById(R.id.wert1)).setText(wert);
((EditText) findViewById(R.id.wert2)).requestFocus();
}
if (findViewById(R.id.wert2).hasFocus()) {
((EditText) findViewById(R.id.wert2)).setText(wert);
((EditText) findViewById(R.id.wert3)).requestFocus();
}
if (findViewById(R.id.wert3).hasFocus()) {
((EditText) findViewById(R.id.wert3)).setText(wert);
((EditText) findViewById(R.id.wert4)).requestFocus();
}
if (findViewById(R.id.wert4).hasFocus()) {
((EditText) findViewById(R.id.wert4)).setText(wert);
((EditText) findViewById(R.id.wert5)).requestFocus();
}
if (findViewById(R.id.wert5).hasFocus()) {
((EditText) findViewById(R.id.wert5)).setText(wert);
((EditText) findViewById(R.id.wert6)).requestFocus();
}
if (findViewById(R.id.wert6).hasFocus()) {
((EditText) findViewById(R.id.wert6)).setText(wert);
((EditText) findViewById(R.id.wert1)).requestFocus();
}
}
Das funktioniert aber so nicht. Wenn ich ein Wert in ein Feld (per Button) eingebe, erscheint dieser Wert zeitgleich in den übrigen 5 Felder und der Fokus wechselt nicht. Was mache ich falsch? Hat jemand eine Idee?
Vielen Dank im Voraus!
Jan
— geändert am 19.10.2011, 16:41:19
Empfohlener redaktioneller Inhalt
Mit Deiner Zustimmung wird hier ein externer Inhalt geladen.
Mit Klick auf den oben stehenden Button erklärst Du Dich damit einverstanden, dass Dir externe Inhalte angezeigt werden dürfen. Dabei können personenbezogene Daten an Drittanbieter übermittelt werden. Mehr Infos dazu findest Du in unserer Datenschutzerklärung.