Thema: 

Focus auf EditText setzen

Diskutiere Focus auf EditText setzen im Android Entwicklung Forum im Bereich Android Allgemein; Hallo zusammen! Ich habe ein Problem, von dem ich hoffe, dass ihr mir weiterhelfen könnt. In einer Activity sind sechs

  1. #1

    Focus auf EditText setzen

    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(); } }
    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!
    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.

  2. #2

    AW: Focus auf EditText setzen

    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 R.id.wert2
    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.

  3. #3

    AW: Focus auf EditText setzen

    Zitat Zitat von Äppler Beitrag anzeigen
    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 R.id.wert2
    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.
    Hallo Äppler,

    genau das war das Problem - hätte man auch selbst drauf kommen können.

    Vielen Dank!
    Grossi

Antworten
Du betrachtest Focus auf EditText setzen im Forum Android Entwicklung im Bereich Android Allgemein von PocketPC.ch.

Focus auf EditText setzen

Ähnliche Themen

  1. Samsung Galxy S2 auf Werkseinstellung zurück setzen
    Von Tattoomaus78 im Forum Samsung Galaxy S2
    Antworten: 20
    Letzter Beitrag: 22.04.2012, 15:48
  2. Mehrere Exchange Konti synchronisieren / Termine auf Privat setzen
    Von gribiii im Forum HTC Desire Kommunikation
    Antworten: 19
    Letzter Beitrag: 11.07.2010, 20:38
  3. HTC Touch HD Auf o2 Werkseinstellung setzen
    Von abe2k3 im Forum Touch HD ROM Upgrade
    Antworten: 1
    Letzter Beitrag: 16.02.2010, 08:52
  4. Antworten: 8
    Letzter Beitrag: 27.01.2009, 14:42

Besucher haben diese Seite mit folgenden Suchbegriffen gefunden:

android edittext

android edittext focus

android tastatur einblenden

android tastatur ausblenden

android edittext markieren

android entwicklung tastatur ausblenden

android requestfocus

android edittext focus keyboard

android edittext requestfocus

android edittext tastatur

android focus auf textfeld

edittext markieren android

android focus edittext

android entwicklung fokus

android edittext tastatur ausblenden

edittext requestfocus

android on start edittext keyboard

android edittext inputtype

android editfeld cursor setzen

android edittext tastatur automatisch einblendenedittext cursor links oben androidandroid textfeld ausblendenandroid textview text markierenandroid keyboard edittext anpassenandroid start edittext

Stichworte