
Ergebnis 1 bis 3 von 3
-
Bin neu hier
- 19.10.2011, 16:03
- #1
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:
Code: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.wert6)).requestFocus(); } }
Vielen Dank im Voraus!
Grossi
P.S.: Wenn ich das requestFocus() weglasse, wird der Wert in das richtige Feld eingetragen.
Ich muss dann nur per Hand zwischen den Feldern wechseln.
-
- 20.10.2011, 11:04
- #2
spontan würde ich sagen, du musst die if-Anweisungen schachteln, denn was passiert?
In der 1. if-Anweisung setzt du den Wert und setzt den focus auf [FONT=Courier New]R.id.wert2[/FONT]
Jetzt wird die nächste if-Anweisung ausgeführt wenn der Focus auf R.id.wert2 sitz. Und genau das ist ja der Fall, denn Du hast es eben in der Anweisung vorher gesetzt
Egal in welchen Zustand du einspringst in Deine if-Konstruktion: Das Spielchen geht immer weiter bis der Focus auf R.id.wert6 ist.
-
Bin neu hier
- 21.10.2011, 07:33
- #3
Ähnliche Themen
-
Samsung Galxy S2 auf Werkseinstellung zurück setzen
Von Tattoomaus78 im Forum Samsung Galaxy S2Antworten: 20Letzter Beitrag: 22.04.2012, 15:48 -
Mehrere Exchange Konti synchronisieren / Termine auf Privat setzen
Von gribiii im Forum HTC Desire KommunikationAntworten: 19Letzter Beitrag: 11.07.2010, 20:38 -
HTC Touch HD Auf o2 Werkseinstellung setzen
Von abe2k3 im Forum Touch HD ROM UpgradeAntworten: 1Letzter Beitrag: 16.02.2010, 08:52 -
HTC touch Home-Bildschirm Emails 18 auf 0 setzen
Von hhh im Forum HTC TouchAntworten: 8Letzter Beitrag: 27.01.2009, 14:42
Pixel 10 Serie mit Problemen:...