如何在视图中选择下一个和上一个编辑文本

Sni*_*per 5 android android-edittext

我的应用程序中有五个编辑文本.我还有两个按钮叫做"Next"和"Previous".现在,当我动态地从视图中单击相应的按钮时,我想选择下一个和上一个编辑文本字段.有没有办法做到这一点.

Dha*_*dra 11

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");
        }
    }
});
Run Code Online (Sandbox Code Playgroud)

这是您必须设置焦点顺序的XML

<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"
    ...../>
Run Code Online (Sandbox Code Playgroud)

编辑

如果要创建视图动态,则应使用以下方法设置下一个焦点

setNextFocusDownId(id)
setNextFocusUpId(id);
Run Code Online (Sandbox Code Playgroud)