2017-09-17 3 views

Répondre

2

Faire Multi-EditText est la méthode la plus simple pour y parvenir. S'il vous plaît prendre mon code comme référence. C'est un numéro-EditText. Et il passe la mise au point suivante editText après avoir entré un numéro précédent EditText XML:

<EditText 
      android:id="@+id/id1" 
      android:layout_width="35dp" 
      android:layout_height="35dp" 
      android:layout_marginLeft="5dp" 
      android:layout_marginRight="5dp" 
      android:background="@drawable/rounded_edittext" 
      android:focusableInTouchMode="true" 
      android:gravity="center" 
      android:inputType="number" 
      android:maxLength="1" 
      android:nextFocusForward="@+id/id2" /> 

     <EditText 
      android:id="@+id/id2" 
      android:layout_width="35dp" 
      android:layout_height="35dp" 
      android:layout_marginLeft="5dp" 
      android:layout_marginRight="5dp" 
      android:background="@drawable/rounded_edittext" 
      android:gravity="center" 
      android:inputType="number" 
      android:maxLength="1" 
      android:nextFocusForward="@+id/id3" /> 

     <EditText 
      android:id="@+id/id3" 
      android:layout_width="35dp" 
      android:layout_height="35dp" 
      android:layout_marginLeft="5dp" 
      android:layout_marginRight="5dp" 
      android:background="@drawable/rounded_edittext" 
      android:gravity="center" 
      android:inputType="number" 
      android:maxLength="1" 
      android:nextFocusForward="@+id/id4" /> 

     <EditText 
      android:id="@+id/id4" 
      android:layout_width="35dp" 
      android:layout_height="35dp" 
      android:layout_marginLeft="5dp" 
      android:layout_marginRight="5dp" 
      android:background="@drawable/rounded_edittext" 
      android:gravity="center" 
      android:inputType="number" 
      android:maxLength="1" /> 

JavaClass

e1 = (EditText) rootView.findViewById(R.id.id1); 
e2 = (EditText) rootView.findViewById(R.id.id2); 
e3 = (EditText) rootView.findViewById(R.id.id3); 
e4 = (EditText) rootView.findViewById(R.id.id4); 

e1.addTextChangedListener(new TextWatcher() { 
@Override 
public void onTextChanged(CharSequence charSequence, int i, int i1, int count) { 
        if (count == 1) { 
         e2.requestFocus(); 
        } 
       } 
      }); 

e2.addTextChangedListener(new TextWatcher() { 
@Override 
public void onTextChanged(CharSequence charSequence, int i, int i1, int count) { 
        if (count == 1) { 
         e3.requestFocus(); 
        } 
       } 
      }); 

e3.addTextChangedListener(new TextWatcher() { 
@Override 
public void onTextChanged(CharSequence charSequence, int i, int i1, int count) { 
        if (count == 1) { 
         e4.requestFocus(); 
        } 
       } 
      }); 
+0

bonne réponse et belle mise en œuvre – 3bdoelnaggar