Hard keyboard Scheitert an editText zu fokussieren

8

Ich habe einen gemeinsamen EditText. Es ist sehr seltsam, weil ich es nicht fokussieren kann, wenn ich eine harte Tastatur benutze. Kontextbedingung:

  1. Schalten Sie Droids hardkeyboard auf
  2. Starten Sie die Aktivität
  3. klicke auf den editText zur Eingabe
  4. Eingabe fehlgeschlagen. Wenn Sie eine beliebige Taste drücken, verliert der editText den Fokus.

Um den Fokus zu bekommen: Drücke Dpad und du siehst, dass der Fokus vom ersten Widget auf dem Bildschirm aus beginnt. Und schließlich konzentrieren Sie sich auf den Ziel-EditText. Dann können Sie eingeben. Ohne dies können Sie nicht mit der harten Tastatur überhaupt eingeben.

Weiche Tastatur hat kein solches Fokusproblem.

Ich benutze Android 2.2. Ist das ein Systemfehler?

    
Henry Sou 15.05.2011, 04:36
quelle

2 Antworten

9

Wie oben erwähnt, ist dies eindeutig ein Fehler mit der harten Tastatur. Wenn Sie einen EditText und einen TabHost in Ihrem Layout haben, wird EditText bei gedrückter erster Taste den Fokus verlieren und der Tastendruck wird stattdessen an die Aktivität gesendet. Hier ist eine Arbeit um dieses Problem. Implementieren Sie dies in Ihrer Aktivität.

%Vor%

Wenn Sie mehrere EditText-Felder haben, müssen Sie den aktuell fokussierten EditText in einer Klassenvariablen verfolgen und in der onKeyDown-Methode verwenden.

    
Amir Sagri 30.12.2011 20:56
quelle
0

Ich habe das gleiche Problem. Ich stimme Jay irgendwie zu. In der Regel verwenden TabHost und / oder TabActivity einen LocalActivityManager, der eingebettete Aktivitäten oder die entsprechende ContentStrategy-Komponente nachverfolgt, die im FrameLayout-Element angezeigt wird. In einfachen Worten, dies ist ein typisches Problem mit eingebetteten Aktivitäten / eingebetteten Ansichten. Der Text bearbeiten befindet sich in der obersten Aktivität / Ansicht, die den Touchscreen-Bereich einnimmt, während es eine Kernaktivität gibt, die diese Aktivität / Ansicht hostet, die wahrscheinlich den InputMethodService-Fokus erfasst und ihn vom Text bearbeiten entfernt. nur für das Hard-Keyboard-Szenario. Die Soft-Tastatur funktioniert einfach.

Eine Änderung, die ich an meinem Edit Text vorgenommen habe, ist, den InputType als rein dezimal zu ändern. Wenn der Edit Text den Fokus erhält, zeigt die Soft-Tastatur eine numerische Tastatur und nicht die alphabetische QWERTY-Tastatur an. Ich habe es auf einem Motorla Droid Pro Emulator ausgeführt, den ich in Eclipse Plugins von der Motodev Website aktualisiert habe. Wenn ich versuche, Text von der harten Tastatur einzugeben, nachdem ich den Fokus für den Editier-Text festgelegt habe (und die Soft-Tastatur eine numerische Tastatur anzeigt), wird nach dem Klicken auf 'ALT + 2' die Soft-Tastatur neu geladen als alphabetische Tastatur, während der Text den Fokus vollständig verliert.

Scheint wie ein ernster Fehler in der Froyo-Version, unzureichende Unterstützung für Hardtastatur-Geräte für die Bearbeitung von Textansichten in Layouts (LinearLayout), die in anderen Layouts (FrameLayout eines TabHost) eingebettet sind.

    
AndroidRocks 12.12.2011 18:35
quelle