Puoi impostare "ordine tab" in Layout XML?

Ho utenti con tabelle che hanno una chiave tab sulla tastiera soft. Sto utilizzando una vista tabella e ho 3 campi EditText in una row con i campi EditText sotto la row corrente.

Quando l'utente colpisce la scheda, li port al field seguente sotto, non al field successivo a destra.

  • Chat App per Android utilizzando un server XMPP e Firebase Cloud Messaging per le notifiche push
  • Android: Scroller Animation?
  • Ignorare le librerie esterne con Android proguard
  • Come eseguire applicazioni esterne, scaricate e non ancora installate su Android?
  • Android: EditText perde il contenuto scorrimento in ListView?
  • Come distriggersre le animazioni nel codice durante l'esecuzione di test Espresso
  • C'è un modo nel layout per impostare l'ordine di tabulazione o è solo eseguito in modo programmato?

    Se può essere fatto solo in Java, come è fatto esattamente?

    Grazie per la punta di NextFocusRight ma non sembrava funzionare (o ho fatto qualcosa di sbagliato)

    Ecco il codice che ho usato. Devo aggiungere le opzioni di emissione per get il button "successivo" per visualizzare nel mio emulatore. Vedete qualcosa di sbagliato con il modo in cui ho fatto questo?

    <EditText android:id="@+id/bikeHHT" android:layout_width="50dip" android:layout_height="40dip" android:textSize="14px" android:maxLength="2" android:nextFocusLeft="@+id/bikeMMT" android:imeOptions="actionNext" android:layout_column="1"/> <EditText android:id="@+id/bikeMMT" android:layout_width="50dip" android:layout_height="40dip" android:textSize="14px" android:nextFocusRight="@+id/bikeSST" android:imeOptions="actionNext" android:maxLength="2"/> 

    7 Solutions collect form web for “Puoi impostare "ordine tab" in Layout XML?”

    Sostituisci android:nextFocusLeft da android:nextFocusDown . Il button "successivo" o il tasto TAB cercano la messa a fuoco "verso il basso" e non a sinistra oa destra.

    Vedo anche che nel tuo riferimento:

     android:nextFocusRight="@+id/bikeSST" 

    Il carattere "+" è necessario se non è ancora stato definito tale ID, se forse l'elemento di riferimento è inferiore nel file .xml.

    Altrimenti, se è già definito in precedenza (o incluso), puoi ignorare il carattere "+":

     android:nextFocusRight="@id/bikeSST" 

    Un vantaggio di non utilizzare il "+" quando si fa riferimento ad un ID che dovrebbe già esistere è che i controlli IDE e Lint possono rilevare un caso di errore: che si fa riferimento a un ID che in realtà non esiste.

    Se includi il "+", lo crei se non esiste e questo controllo non può essere eseguito.

    Hai verificato l' android:imeOptions="actionNext" per EditText?

    Sostituisce il nome del tasto di inserimento con "Avanti" nella tastiera virtuale e facendo clic su di esso – il focus si salta al field successivo.

    Nel tuo layout, faresti cose del genere

     <EditText ... android:text="Field 1" android:imeOptions="actionNext" /> <EditText ... android:text="Field 2" android:imeOptions="actionNext" /> 

    E in Java

     TextView field2 = (TextView) field1.focusSearch(View.FOCUS_RIGHT); field2.requestFocus(); 

    Sta a voi decidere quale field richiederà la messa a fuoco successiva.

    Per me android:nextFocusUp , android:nextFocusRight , android:nextFocusDown e android:nextFocusLeft non funzionavano, ma android:nextFocusForward funzionava.

    Vedere Supporto di tastiera di navigazione, Handle Tab Navigation .

    C'è un modo migliore. Esiste un argomento XML che puoi inserire nel layout che sposta automaticamente il cursore in ciascun EditText quando l'utente li completa. Ciò consente di implementare molto più facilmente la forma.

    Il problema è, per la vita dannata ricordare che diavolo è …

    Assicurati di controllare le properties; android: nextFocus * xml. L'azione di forma normale è quella di scendere. Ma forse c'è un button a destra che desideri ricevere la messa a fuoco successiva (come colpire l'entrata o simili).

    http://developer.android.com/reference/android/view/View.html#attr_android:nextFocusDown

    Ci sono anche alcune opzioni programmabili:

    http://developer.android.com/reference/android/view/View.html#setNextFocusDownId(int )

    Potresti cercare gli attributi android: nextFocusRight, android: nextFocusLeft, android: nextFocusUp e android: nextFocusDown. Se il comportmento predefinito del button Tab sta muovendo la messa a fuoco fino alla seconda row, penso che si potrebbe impostare android: nextFocusDown all'ID della vista che si desidera get la messa a fuoco successiva. Quindi quando l'utente preme la scheda, spostare la messa a fuoco in qualsiasi vista specificata, anche se in questo caso accade di essere alla destra della vista corrente e non al di sotto di esso.

    Sostituisci android:nextFocusLeft con android:nextFocusForward .

    L'Android è un fan Android di Google, tutto su telefoni Android, Android Wear, Android Dev e applicazioni Android Games e così via.