Von Dialogen und Soft Keyboards

  • 2 Antworten
  • Letztes Antwortdatum
P

Pop goes the Weasel

Neues Mitglied
0
Mahlzeit!

Ich habe folgendes Problem:
In meiner App öffnet sich beim Start einer Activity ein kleiner AlertDialog, mit nem EditText und nem OK Knopf. Hier muss der User eine Zahl eingeben. Selbstredend brauch er dafür das Soft Keyboard und deshalb ist mein JellyBean Tablet auch inteligent genug es auf der Stelle aufzuklappen. Alles läuft Großartig! Jedoch nicht auf Android 2.1, hier muss der User erst, meist mehrfach, auf dem EditText herumtouchen bis Android kapiert was los ist.

Ich habe ein wenig gegoogelt und bin auf folgenden code getroffen der das Wiederspänstige Keyboard unter Kontrolle bringen soll:
editText.setRawInputType(Configuration.KEYBOARD_12KEY);
InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
imm.toggleSoftInput(InputMethodManager.SHOW_FORCED,0);

Funktioniert auch soweit, aber ganz zufrieden bin ich immer noch nicht. Denn jetzt blinkt immer kurz das Buchstaben-Keyboard auf bevor das System kapiert, dass ich Zahlen befahl.
An sich nicht so schlimm, jedoch wird der User sehr regelmäßig mit diesem Dialog konfrontiert und hier stört es dann doch den sonst so wunderbar flüssigen Programmablauf.

Und jetzt seid ihr gefragt! Hat jemand ne andere Möglichkeit parat das Soft Keyboard anzuzeigen, oder kennt den nötigen Befehl, damit Android erst schaut, welches Keyboard es braucht, bevor es dieses dann aufklapt?
Ich würd mich freuen!

Grüße und noch nen schönen Mittag!
 
Also ich hatte noch nie Probleme mit 'widerspenstigen Keyboards' aber löste es eigentlich immer, indem ich den Fokus auf das EditText gelegt habe - vielleicht hilft es dir ja ein bisschen weiter ;)
(dann wurde auch immer brav das Zahlen-Keyboard aufgerufen, wenn der Input-Typ so definiert war)

Greets,
Max
 
Wie gesagt das Problem besteht bei mir auch nur auf android 2.1. Focus hat das EditText; Zumindest wird sowohl et.hasFocus() als auch et.isFocused() mit true ausgegeben.

Bei EditTexts direkt in der Activity konnte ich das inzwischen beheben indem ich im Android Manifest Window soft input mode auf state:visible gesetzt habe. Aber das kann ich ja nicht für Dialoge; Wüsste zumindest nicht wie.
 
Zurück
Oben Unten