Kann es nicht schaffen, einen Spinner anzufordern

8

Ich habe ein nerviges Problem mit einem Bildschirm. Der Bildschirm besteht aus einem Bündel Spinner untereinander und dann unter dem Spinner einen EditText.

Das Problem ist, dass der EditText beim Start des Bildschirms den Fokus hat, was bedeutet, dass einige Spinner vom oberen Bildschirmrand entfernt sind. Versuchen Sie, wie ich könnte, kann ich nicht den oberen Spinner Start fokussiert, entweder durch Verwendung von <requestFocus/> in der Bildschirm-XML oder durch Verwendung von requestFocus() im Code. Ich habe versucht, was requestFocus beim nächsten EditText zu tun, schlägt vor, und wenn ich den Vorschlag richtig befolge, es funktioniert auch nicht.

Um das Problem zu reproduzieren, erstellen Sie ein neues Android-Projekt in Eclipse. main.xml ist

%Vor%

Der Aktivitätscode ist

%Vor%

Beachten Sie, dass mehrere Stile von requestFocus versucht wurden.

Ist das ein Plattformfehler, oder mache ich etwas falsch?

Danke.

    
SamStephens 07.02.2011, 03:51
quelle

2 Antworten

5

Von online Dokumentation :

  

Eine Ansicht nimmt den Fokus nicht, wenn sie nicht fokussierbar ist (isFocusable () gibt false zurück) oder wenn sie fokussierbar ist und nicht im Touch-Modus (isFocusableInTouchMode ()) fokussiert werden kann, während sich das Gerät im Touch-Modus befindet / p>

    
StenaviN 29.09.2011, 10:37
quelle
17

Ich hatte ein ähnliches Problem, das ich mit zwei Dingen gelöst habe:

1) Ich setze das Spinner-Objekt oben (innerhalb der onCreate-Methode), nur um sicherzustellen, dass mein Code zuerst ausgeführt wird. 2) Ich habe folgendes benutzt:

%Vor%

Lassen Sie mich wissen, ob das hilft oder Sie weitere Hilfe benötigen.

    
MR Mido 03.05.2011 20:17
quelle