控制焦点在android的下一个按下

时间:2014-09-16 06:07:35

标签: android xml android-edittext

我有以下.xml布局文件

enter image description here

默认情况下,在android中,在一个edittext中输入文本并从android键盘点击下一步后,焦点转移到下一个edittext。如果我想控制焦点,即如果点击,那该怎么办?来自android键盘的next我想要一些其他的editext来获得焦点而不是连续的一个。类似的东西,我可能需要以下序列:

enter image description here

我怎样才能实现这个目标

2 个答案:

答案 0 :(得分:1)

试试这个:

editText1.setOnEditorActionListener(new OnEditorActionListener() {
public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
    if (actionId == EditorInfo.IME_ACTION_NEXT) {
        editText3.requestFocus();
        return true;
    }
    return false;
}
});

<强>更新 你可以使用

  

机器人:nextFocusDown

也来自xml。

答案 1 :(得分:1)

您应该尝试使用xml中的android:nextFocusDown,如下所示:

 <EditText
        android:id="@+id/editText1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:ems="10"
        android:hint="Text 1"
        android:singleLine="true"
         android:nextFocusDown="@+id/Text4" >
    </EditText>

    <EditText
        android:id="@+id/editText2"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:ems="10"
        android:hint="Text 2"
        android:singleLine="true"
         android:nextFocusDown="@+id/editText5" >
    </EditText>

    <EditText
        android:id="@+id/editText3"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:ems="10" 
        android:singleLine="true">
    </EditText>

    <EditText
        android:id="@+id/Text4"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:ems="10"
        android:hint="Text 3"
        android:singleLine="true"
         android:nextFocusDown="@+id/editText2" >
    </EditText>

    <EditText
        android:id="@+id/editText5"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:ems="10"
        android:singleLine="true"
        android:hint="Text 4" >
    </EditText>