How to select the next and previous Edit texts in the view

I have five Edit Text in my application. I also have two buttons called "Next" and "Previous". Now I want to select the next and previous edit text boxes when I click on the appropriate buttons to form my look dynamically. Is there any way to do this.

+5
source share
4 answers
btnNext.setOnClickListener(new OnClickListener() {

    public void onClick(View v) {
        int id = getCurrentFocus().getNextFocusDownId();
        if(id != View.NO_ID) {
            findViewById(id).requestFocus();
            System.out.println("Next");
        }
    }
});

btnBack.setOnClickListener(new OnClickListener() {

    public void onClick(View v) {
        int id = getCurrentFocus().getNextFocusUpId();
        if(id != View.NO_ID) {
            findViewById(id).requestFocus();
            System.out.println("Back");
        }
    }
});

This is XML where you must set the focus order

<EditText
    android:id="@+id/et1"
    android:nextFocusDown="@+id/et2"
    android:nextFocusUp="@+id/et2"
    ....../>

<EditText
    android:id="@+id/et2"
    android:nextFocusDown="@+id/et1"
    android:nextFocusUp="@+id/et1"
    ...../>

Edit

If you are creating a dynamic view, you should use the methods below to set the next focus.

setNextFocusDownId(id)
setNextFocusUpId(id);
+11
source

Use

android:nextFocusLeft

android:nextFocusRight

android:nextFocusUp

android:nextFocusDown

in your editText attributes in your layout.xml.

eg. android:nextFocusDown="@id/myNextEditText"

, , .

+3

-

@Override
public void onClick(View v) {
    switch (v.getId()) {
        case R.id.btn_next :
            if(editText1.hasFocus()){
                editText2.requestFocus();
            }else if(editText2.hasFocus()){
                editText3.requestFocus();
            }
            break;
        case R.id.btn_previous :
            if(editText2.hasFocus()){
                editText1.requestFocus();
            }else if(editText3.hasFocus()){
                editText2.requestFocus();
            }
            break;
    }
}
+1
source

All Articles