keyboardMode herausfinden

  • 4 Antworten
  • Letztes Antwortdatum
MetBo

MetBo

Erfahrenes Mitglied
4
Hallo,

ich habe in meiner qwerty.xml bei manchen Rows folgendes stehen:
Code:
<Row android:rowEdgeFlags="bottom" android:keyboardMode="@id/mode_normal">

oder auch das:
Code:
<Row android:rowEdgeFlags="bottom" android:keyboardMode="@id/mode_email">

Damit möchte ich bestimmen, bei welchem Mode diese Row erscheinen soll.
Sprich, bei einem normalen Textfeld soll "mode_normal" aktiviert werden, bei einem Email-Feld soll "mode_email" aktiviert werden, ... .

Um das zu aktivieren, müsste man ja eigentlich im Konstruktor der Tastaturklasse den Mode übergeben, oder?

Woher bekomme ich den Mode? Gibt es dafür in der Bibliothek eine Methode, die ich abfragen kann um den Mode herauszubekommen?

Ich habe dazu leider noch nichts gefunden.


Vielen dank!:blushing::blushing::blushing:
 
Weiß keiner eine Lösung für mein Problem? Oder habe ich das Problem nicht verständlich genug geschildert?
 
ok problem geloest.
 
lässt Du uns an Deiner Lösung auch teilhaben?

:blink:
 
Ich habe einfach nicht richtig gesucht in dem Code der Sample SoftKeyboard...

Dort findet man folgende If-Abfrage in der Methode onStartInput:
if (variation == EditorInfo.TYPE_TEXT_VARIATION_EMAIL_ADDRESS
|| variation == EditorInfo.TYPE_TEXT_VARIATION_URI
|| variation == EditorInfo.TYPE_TEXT_VARIATION_FILTER) {
// Our predictions are not useful for e-mail addresses
// or URIs.
mPredictionOn = false;
}
wenn man hier noch ein paar Anpassungen macht, dann kann man nun alle Modis herausfinden:
if (variation == EditorInfo.TYPE_TEXT_VARIATION_EMAIL_ADDRESS
|| variation == EditorInfo.TYPE_TEXT_VARIATION_URI
|| variation == EditorInfo.TYPE_TEXT_VARIATION_FILTER) {
// Our predictions are not useful for e-mail addresses
// or URIs.
mPredictionOn = false;

if(variation == EditorInfo.TYPE_TEXT_VARIATION_EMAIL_ADDRESS) {
// Hier die Tastatur neu erzeugen - Beim Erzeugen die ID "mode_email" als Param übergeben
} else if(variation == EditorInfo.TYPE_TEXT_VARIATION_URI) {
// Hier die Tastatur neu erzeugen - Beim Erzeugen die ID "mode_url" als Param übergeben
}
}
 
Zurück
Oben Unten