当我按下“下一步”,用户编辑文本的焦点必须移动到密码。然后,从Password,它必须向右移动,依此类推。你能告诉我怎么编码吗?

<LinearLayout
    android:id="@+id/LinearLayout01"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:orientation="horizontal" >

    <TextView
        android:id="@+id/username"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="User Name*" />

    <EditText
        android:id="@+id/txt_User"
        android:layout_width="290dp"
        android:layout_height="33dp"
        android:singleLine="true" />

</LinearLayout>


<LinearLayout
    android:id="@+id/LinearLayout02"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:orientation="horizontal" >

    <TextView
        android:id="@+id/password"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Password*" />

    <EditText
        android:id="@+id/txt_Password"
        android:layout_width="290dp"
        android:layout_height="33dp"
        android:singleLine="true"
        android:password="true" />

    <TextView
        android:id="@+id/confirm"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Password*" />

    <EditText
        android:id="@+id/txt_Confirm"
        android:layout_width="290dp"
        android:layout_height="33dp"
        android:singleLine="true"
        android:password="true" />

</LinearLayout>

当前回答

简单的方法,当你一个接一个只有几个字段时:

需要设置

android:maxLines=“1”

android: imeOptions = actionNext”

android: inputType = " " <-设置你的文本类型,在其他情况下,它将是多行和阻止下一步

示例:

<EditText android:layout_width="match_parent"
              android:layout_height="wrap_content"
              android:textSize="@dimen/text_large"
              android:maxLines="1"
              android:inputType="textEmailAddress"
              android:imeOptions="actionNext"
              android:layout_marginLeft="@dimen/element_margin_large"
              android:layout_marginRight="@dimen/element_margin_large"
              android:layout_marginTop="0dp"/>

其他回答

将inputType添加到edittext,然后进入它将进入下一个edittext

android:inputType="text"
android:inputType="textEmailAddress"
android:inputType="textPassword" 

还有更多。

inputType=textMultiLine不进入下一个编辑文本

如果你想使用imeOptions的多行EditText,试试:

android:inputType="textImeMultiLine"

简单的方法,当你一个接一个只有几个字段时:

需要设置

android:maxLines=“1”

android: imeOptions = actionNext”

android: inputType = " " <-设置你的文本类型,在其他情况下,它将是多行和阻止下一步

示例:

<EditText android:layout_width="match_parent"
              android:layout_height="wrap_content"
              android:textSize="@dimen/text_large"
              android:maxLines="1"
              android:inputType="textEmailAddress"
              android:imeOptions="actionNext"
              android:layout_marginLeft="@dimen/element_margin_large"
              android:layout_marginRight="@dimen/element_margin_large"
              android:layout_marginTop="0dp"/>

在你的onEditorAction处理程序中,请记住,你必须返回一个布尔值,表明你是在处理动作(true),还是你应用了一些逻辑并想要正常的行为(false),如下例所示:

EditText te = ...
te.setOnEditorActionListener(new OnEditorActionListener() {
    @Override
    public boolean onEditorAction(TextView v, int actionId, KeyEvent event){
        if (actionId == EditorInfo.IME_ACTION_NEXT) {
            // Some logic here.
            return true; // Focus will do whatever you put in the logic.
        }
        return false;  // Focus will change according to the actionId
    }
});

我发现这当我返回真执行我的逻辑,因为焦点没有移动。

只需使用下面的代码,它将工作良好,并使用inputType为每个编辑文本和下一个按钮将出现在键盘上。

android:inputType="text" or android:inputType="number" etc