2016-04-19 7 views
0

Ich benötige einen Eingabetext vom Typ editText, mit dem ich die Erfahrung des Benutzers erhöhen kann, wenn er ein Bankkonto oder eine Bankfiliale eingibt. Die Nummern sollten folgenden Regeln folgen:Android Tastatur für Bankkontoeintrag [0-9-xX]

Konto: \ d {1,5} - \ d {1,2} | X -> ein bis fünf Ziffern, Strich, eine oder zwei Ziffern oder ein X-Zeichen

Zweig: \ d {1,5} (- \ d {1,2} | -X)? -> ein bis fünf Ziffern, Bindestrich, Null, ein oder zwei Ziffern oder ein X-Zeichen

Da meine Eingabe wahrscheinlich mehr Ziffern haben, möchte ich die Tastatur in erster Linie Zahlen anbieten, und wenn der Benutzer ein X haben Ziffer er/sie kann den Eingabetyp tauschen. Grundsätzlich möchte ich eine Tastatur, deren symbolisches Layout zuerst angezeigt wird.

UPDATE:

Ich habe versucht, den Eingabetyp im Text bearbeiten xml Wechsel:

<EditText 
    style="@style/Subhead.Form" 
    android:inputType="text" 
    android:maxLength="7" 
    app:hint="@{@string/profile_hint_bankBranch}" 
    app:bindTo="@{viewModel.branch.input}" 
    tools:text="1234-5"/> 

Aber dies stellt das Textlayout erste, wie erwartet, ich habe auch versucht, einige andere Optionen, aber ich denke, dass keiner tut, was ich will.

In iOS verwende ich die Tastatur "Zahlen und Interpunktion" Tastatur, die genau das tut, was ich will, gibt es eine einfache Lösung, um das gleiche Verhalten zu haben?

+0

Bitte zeigen Sie den Code, den Sie versucht haben, dies zu implementieren, und geben Sie ausdrücklich an, wo Sie stecken bleiben. – NoChinDeluxe

+0

Ich aktualisierte mit meiner XML-Datei, versuchte ich die Lösung dieses Kerls http://stackoverflow.com/a/29175373/1080583, aber ich will nicht etwas so extravagant, nur die symbolische Tastatur als Standard wäre in Ordnung –

Antwort

0

Sie können den Eingangstyp "phone" in Ihrem Editiertext verwenden. Dies reduziert die Tastatur auf Zahlen und Bindestriche. http://developer.android.com/training/keyboard-input/style.html

Für weitere ausgefallene Sachen (Regex-Check, Autocomplete, Ändern der Tastatur Stil) müssen Sie auf etwas wie eine benutzerdefinierte Text ändern Listener zurückgreifen. http://developer.android.com/reference/android/widget/TextView.html#addTextChangedListener(android.text.TextWatcher)

+0

Nur Zahlen und Bindestriche sind nicht genug, ich brauche auch das X-Zeichen, die Telefon-Eingabe-Typ haben Buchstaben auf den Zifferntasten, aber ich habe es nicht geschafft, sie als Typ Optionen zugreifen –