Wenn ich auf "Weiter" drücke, muss der Fokus auf den User EditText auf das Passwort verschoben werden. Dann muss es vom Passwort nach rechts und so weiter verschoben werden. Können Sie mir beim Codieren helfen?
<LinearLayout
android:id="@+id/LinearLayout01"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<TextView
android:id="@+id/username"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="User Name*" />
<EditText
android:id="@+id/txt_User"
android:layout_width="290dp"
android:layout_height="33dp"
android:singleLine="true" />
</LinearLayout>
<LinearLayout
android:id="@+id/LinearLayout02"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<TextView
android:id="@+id/password"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Password*" />
<EditText
android:id="@+id/txt_Password"
android:layout_width="290dp"
android:layout_height="33dp"
android:singleLine="true"
android:password="true" />
<TextView
android:id="@+id/confirm"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Password*" />
<EditText
android:id="@+id/txt_Confirm"
android:layout_width="290dp"
android:layout_height="33dp"
android:singleLine="true"
android:password="true" />
</LinearLayout>
android
android-edittext
androidBoomer
quelle
quelle
Antworten:
Fokusbehandlung
Die Fokusbewegung basiert auf einem Algorithmus, der den nächsten Nachbarn in einer bestimmten Richtung findet. In seltenen Fällen entspricht der Standardalgorithmus möglicherweise nicht dem beabsichtigten Verhalten des Entwicklers.
Ändern Sie das Standardverhalten der Richtungsnavigation mithilfe der folgenden XML-Attribute:
Neben der Richtungsnavigation können Sie auch die Tab-Navigation verwenden. Dafür müssen Sie verwenden
Rufen Sie an, um eine bestimmte Ansicht in den Fokus zu rücken
Verwenden Sie a, um bestimmte sich ändernde Fokusereignisse anzuhören
View.OnFocusChangeListener
Tastaturtaste
Sie können
android:imeOptions
diese zusätzliche Taste auf Ihrer Tastatur verwenden.Die Konstanten von imeOptions enthalten eine Vielzahl von Aktionen und Flags. Die Werte finden Sie unter dem obigen Link.
Wertbeispiel
ActionNext :
ActionDone :
Codebeispiel:
Wenn Sie Bedrohungsereignisse anhören möchten, verwenden Sie a
TextView.OnEditorActionListener
.quelle
android:nextFocusForward="@+id/.."
hat der Trick getan.android:imeOptions="actionNext"
alle meine EditTexts eingestellt und das Problem ist weg. Vielen Dank.sollte den gleichen Effekt bringen. Nach dem Schlagen als nächstes, um den Fokus auf das nächste Element zu bringen.
Verwenden Sie diese Option zusätzlich, wenn Sie nicht möchten, dass die nächste Ansicht den Fokus erhält
quelle
Fügen Sie Ihren editText hinzu
Fügen Sie der Aktivität im Manifest eine Eigenschaft hinzu
In der Layoutdatei wird ScrollView als Root- oder übergeordnetes Layout für alle Benutzeroberflächen festgelegt
Wenn Sie nicht jedes Mal möchten, wenn es hinzugefügt wird, erstellen Sie einen Stil: Fügen Sie einen Stil in values / style.xml hinzu
Standardstil:
quelle
android:singleLine="true"
ist entzogen.Verwenden Sie die folgende Zeile
parentedit
ist die ID des nächstenEditText
zu fokussierenden.Die obige Zeile benötigt auch die folgende Zeile.
oder
Vielen Dank für den Vorschlag @Alexei Khlebnikov.
quelle
android:inputType="text"
oderandroid:inputType="number"
.Zusätzliches Feld hinzufügen
hat in meinem Fall funktioniert!
quelle
Diese drei Linien machen die Magie
quelle
Beachten Sie in Ihrem onEditorAction-Handler, dass Sie einen Booleschen Wert zurückgeben müssen, der angibt, ob Sie die Aktion ausführen (true) oder ob Sie eine Logik angewendet haben und das normale Verhalten (false) wünschen, wie im folgenden Beispiel:
Ich fand dies, als ich nach Ausführung meiner Logik true zurückgab, da sich der Fokus nicht bewegte.
quelle
Verwenden Sie einfach den folgenden Code, es funktioniert einwandfrei und verwenden Sie inputType für jeden Edittext. Die nächste Schaltfläche wird auf der Tastatur angezeigt.
quelle
In einigen Fällen müssen Sie den Fokus möglicherweise manuell auf das nächste Feld verschieben:
Dies ist möglicherweise erforderlich, wenn Sie beispielsweise über ein Textfeld verfügen, in dem beim Klicken eine Datumsauswahl geöffnet wird, und der Fokus automatisch zum nächsten Eingabefeld verschoben werden soll, sobald der Benutzer ein Datum ausgewählt und die Auswahl geschlossen hat. Es gibt keine Möglichkeit, dies in XML zu handhaben, es muss programmgesteuert erfolgen.
quelle
Einfacher Weg, wenn Sie nur wenige Felder einzeln haben:
Müssen einstellen
android:maxLines="1"
android:imeOptions="actionNext"
android:inputType=""
<- Legen Sie Ihren Texttyp fest, in anderen Fällen ist er mehrzeilig und verhindert, dass der nächste Text angezeigt wirdStichprobe:
quelle
Versuchen Sie es mit android: imeOptions = "actionNext" -Tag für jeden editText in der Ansicht, der automatisch auf den nächsten Edittext fokussiert wird, wenn Sie auf dem SoftKeyboard auf Weiter klicken.
quelle
quelle
Wenn Sie eine Multiline
EditText
mit verwenden möchtenimeOptions
, versuchen Sie:quelle
Fügen Sie inputType zu edittext hinzu und bei Eingabe wird der nächste edittext angezeigt
und viele mehr.
quelle
In Kotlin habe ich Bellow wie ..
xml:
in Kotlin:
quelle
quelle
Wenn Sie das Element in der Bildlaufansicht haben, können Sie dieses Problem auch wie folgt lösen:
und in Ihrer Tätigkeit:
quelle
Einfacher Weg :
Fügen Sie dies dem Feld edittext in der XML-Datei hinzu
quelle