Jetzt kostenlos registrieren. Mitglieder surfen ohne Werbung auf Android-Hilfe.de!
Zurück   Android-Hilfe.de > Android Developer > Android App Entwicklung

Focus auf EditText setzen

Das Thema "Focus auf EditText setzen" befindet sich unter Android App Entwicklung auf Android-Hilfe.de.


Antwort

 

Themen-Optionen Ansicht
Alt 19.10.2011, 16:54   #1 (permalink)
Neuer Benutzer

Modell: Samsung Galaxy S (I9000)

Registriert seit: 29.07.2010
Beiträge: 19
Abgegebene Danke: 2
Erhielt 0 Danke für 0 Beiträge
Standard 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.
Grossi ist offline   Mit Zitat antworten
Alt 20.10.2011, 08:21   #2 (permalink)
Junior Mitglied

Registriert seit: 06.09.2011
Beiträge: 38
Abgegebene Danke: 2
Erhielt 5 Danke für 5 Beiträge
Standard AW: Focus auf EditText setzen

Ich würde jetzt mal, ohne groß drüber bescheid zu wissen oder sich das genauer anzusehen, sagen ... du testest nur mit textfeld 1? --> 1. if ist true da focus .... geht durch und aktiviert das 2. --> 2. if ist true ... etc. eventuell einfach mal in jedes if ein return oder nicht if sondern else if nehmen.

MfG nijoX
nijoX ist offline   Mit Zitat antworten
Folgender Benutzer bedankt sich bei nijoX für diesen Beitrag:
Grossi (20.10.2011)
Alt 20.10.2011, 10:48   #3 (permalink)
Neuer Benutzer

Modell: Samsung Galaxy S (I9000)

Registriert seit: 29.07.2010
Beiträge: 19
Abgegebene Danke: 2
Erhielt 0 Danke für 0 Beiträge
Daumen hoch AW: Focus auf EditText setzen

Zitat:
Zitat von nijoX Beitrag anzeigen
Ich würde jetzt mal, ohne groß drüber bescheid zu wissen oder sich das genauer anzusehen, sagen ... du testest nur mit textfeld 1? --> 1. if ist true da focus .... geht durch und aktiviert das 2. --> 2. if ist true ... etc. eventuell einfach mal in jedes if ein return oder nicht if sondern else if nehmen.

MfG nijoX
Hallo nijoX,

genau das war's. Jetzt klappt's!

Vielen DanK!
Grossi ist offline   Mit Zitat antworten
Antwort

Stichworte
edittext, focus, focus setzen, fokus, fokus setzen

Themen-Optionen
Ansicht


Ähnliche Themen

Thema Autor Forum Antworten Letzter Beitrag
[Problem:] EditText Focus in einer ExpandableListView Unicate Android App Entwicklung 0 07.10.2011 10:04
Neues Update mit Focus auf Facebook ... demnächst Thee Sony Ericsson Xperia Arc Forum 0 07.05.2011 07:01
EditText Focus setzen r4in Android App Entwicklung 1 11.02.2011 11:02
Fokos auf einen EditText setzen! plex88 Android App Entwicklung 1 14.12.2010 13:20
Focus von EditText _weglegen_ fugu2.0 Android App Entwicklung 1 04.07.2010 15:43




Du liest gerade: "Focus auf EditText setzen" unter "Android App Entwicklung" auf Android-Hilfe.de.


Powered by vBulletin®
Copyright ©2000 - 2012, vBulletin Solutions, Inc.
Search Engine Friendly URLs by vBSEO
© Android-Hilfe.de 2012 - All rights reserved.