Kiedy nacisnę „Dalej”, fokus na tekście edycji użytkownika musi zostać przeniesiony na hasło. Następnie, od hasła, musi przejść w prawo i tak dalej. Czy możesz mi pomóc w kodowaniu?
<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
źródło
źródło
Odpowiedzi:
Obsługa ostrości
Ruch ogniskowania oparty jest na algorytmie, który znajduje najbliższego sąsiada w danym kierunku. W rzadkich przypadkach domyślny algorytm może nie pasować do zamierzonego zachowania programisty.
Zmień domyślne zachowanie nawigacji kierunkowej, używając następujących atrybutów XML:
Oprócz nawigacji kierunkowej możesz także korzystać z nawigacji po kartach. Do tego musisz użyć
Aby uzyskać konkretny widok, na którym należy się skupić, zadzwoń
Aby odsłuchać pewne zmieniające się zdarzenia fokusowe, użyj
View.OnFocusChangeListener
Przycisk klawiatury
Możesz użyć
android:imeOptions
do obsługi tego dodatkowego przycisku na klawiaturze.Stałe imeOptions obejmują różnorodne akcje i flagi, zobacz ich wartości powyżej.
Przykład wartości
ActionNext :
ActionDone :
Przykład kodu:
Jeśli chcesz słuchać wydarzeń, skorzystaj z
TextView.OnEditorActionListener
.źródło
android:nextFocusForward="@+id/.."
załatwiłem sprawę .android:imeOptions="actionNext"
wszystkie moje EditTexts i problem zniknął. Wielkie dzięki.powinien przynieść ten sam efekt. Po trafieniu obok przenosi fokus do następnego elementu.
użyj tego dodatkowo, jeśli nie chcesz, aby następny widok był aktywny
źródło
dodaj swój editText
dodać właściwość do działania w manifeście
w pliku układu ScrollView ustawiony jako układ główny lub nadrzędny dla wszystkich interfejsów użytkownika
jeśli nie chcesz za każdym razem, gdy dodajesz, utwórz styl: dodaj styl w wartości / style.xml
Domyślny styl:
źródło
android:singleLine="true"
jest osłabione.Użyj następującego wiersza
parentedit
jest identyfikatorem następnego, naEditText
który należy się skupić.Powyższa linia będzie również potrzebować następującej linii.
lub
Dzięki za sugestię @Aleksei Chlebnikow.
źródło
android:inputType="text"
lubandroid:inputType="number"
.Dodanie dodatkowego pola
działało w moim przypadku!
źródło
Te trzy linie działają magicznie
źródło
W module obsługi onEditorAction pamiętaj, że musisz zwrócić wartość logiczną wskazującą, czy wykonujesz akcję (prawda), czy zastosowałeś logikę i chcesz normalnego zachowania (fałsz), jak w poniższym przykładzie:
Znalazłem to, kiedy wróciłem do wartości true po wykonaniu mojej logiki, ponieważ fokus się nie poruszał.
źródło
wystarczy użyć następującego kodu, który będzie działał poprawnie i użyje inputType dla każdego tekstu edycyjnego, a następny przycisk pojawi się na klawiaturze.
źródło
W niektórych przypadkach może być konieczne ręczne przesunięcie fokusa do następnego pola:
Może być to potrzebne, jeśli na przykład masz pole tekstowe, które otwiera selektor daty po kliknięciu i chcesz, aby fokus automatycznie przechodził do następnego pola wprowadzania po wybraniu daty przez użytkownika i zamknięciu selektora. Nie ma sposobu, aby poradzić sobie z tym w XML, należy to zrobić programowo.
źródło
Prosty sposób, gdy masz tylko kilka pól jeden po drugim:
Musisz ustawić
android:maxLines="1"
android:imeOptions="actionNext"
android:inputType=""
<- Ustaw typ tekstu, w innym przypadku będzie on wielowierszowy i uniemożliwi przejście do następnegoPróba:
źródło
Spróbuj użyć Androida: imeOptions = "actionNext" znacznik dla każdego editText w widoku automatycznie ustawi fokus na następny edittext po kliknięciu Dalej na softKeyboard.
źródło
źródło
Jeśli chcesz używać multilinii
EditText
zimeOptions
, spróbuj:źródło
Dodaj inputType do edittext, a po wejściu przejdzie do następnego edittext
i wiele więcej.
źródło
W Kotlin użyłem Bellow jak ...
xml:
w kotlin:
źródło
źródło
Jeśli masz element w widoku przewijania, możesz również rozwiązać ten problem, ponieważ:
a w twojej działalności:
źródło
Prosta droga :
Dodaj to do pola edittext w pliku .xml
źródło