将EditText imeOptions设置为actionNext不起作用

我有一个相当复杂(不是真正的)的XML布局文件。 其中一个视图是带有两个子项的LinearLayout( v1 ):一个EditText( v2 )和另一个LinearLayout( v3 )。 子代LinearLayout又有一个EditText( v4 )和一个ImageView( v5 )。

对于EditText v2我有imeOptions as

 android:imeOptions="actionNext" 

但是当我运行应用程序,键盘的return不检查next ,我希望它改变到next 。 我该如何解决这个问题?

另外,当用户点击下一个时,我想集中到EditText v4。 我该怎么做?

对于那些真的需要看到一些代码的人:

 <LinearLayout android:id="@+id/do_txt_view" android:layout_width="match_parent" android:layout_height="wrap_content" android:background="@color/col6" android:orientation="vertical" android:visibility="gone" > <EditText android:id="@+id/gm_title" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_margin="5dp" android:background="@drawable/coldo_text" android:hint="@string/enter_title" android:maxLines="1" android:imeOptions="actionNext" android:padding="5dp" android:textColor="pigc7" android:textSize="ads2" /> <LinearLayout android:layout_width="match_parent" android:layout_height="100dp" android:orientation="horizontal" > <EditText android:id="@+id/rev_text" android:layout_width="0dp" android:layout_height="match_parent" android:layout_gravity="center_vertical" android:layout_margin="5dp" android:layout_weight="1" android:background="@drawable/coldo_text" android:hint="@string/enter_msg" android:maxLines="2" android:padding="5dp" android:textColor="pigc7" android:textSize="ads2" /> <ImageView android:layout_width="wrap_content" android:layout_height="match_parent" android:layout_gravity="center_vertical" android:background="@drawable/colbtn_r” android:clickable="true" android:onClick=“clickAct” android:paddingLeft="5dp" android:paddingRight="5dp" android:src="@drawable/abcat” /> </LinearLayout> </LinearLayout> 

只需将android:maxLines="1" & android:inputType="text"到您的EditText中即可。 它会工作! 🙂

singleLine已被弃用。 添加一个inputtypes(例如: android:inputType="text" )也适用于我。

不推荐使用android:maxLines="1"作为singleLine

android:singleLine已被弃用,最好将android:maxLines="1"android:inputType="text" 。 这将是代码:

 <EditText android:id="@+id/editText" android:layout_width="wrap_content" android:layout_height="wrap_content" android:maxLines="1" android:inputType="text" /> 

单行弃用,所以你添加下面的代码,我认为inputType必须。

  <EditText android:inputType="text" android:maxLines="1" android:imeOptions="actionNext" /> 
 android:inputType="text" 

您必须指定一个inputType才能使imeOptions起作用。

最后,我已经确定了解决这个问题的方法只需在编辑文本中添加这3行 ,它将工作正常

  android:maxLines="1" android:inputType="text" android:imeOptions="actionDone" 

在这里您可以根据您的要求添加maxLines不要使用singleLine,因为它现在已经被弃用了。 祝你好运!

这里的关键是设置inputtypes和imeOptions属性

 <EditText android:inputType="number" android:maxLines="1" android:imeOptions="actionSearch" /> 

这里给出的答案都非常有帮助,但我仍然努力让我的键盘的“下一步”显示。

原来,当你在你的XML中使用Android的android:digits属性时,它会阻止android:imeOptions="actionNext"按预期工作。

答案实际上是使用弃用的android:singleLine="True" 。 这似乎迫使IME选项得到尊重。

旧的非工作代码

  <android.support.design.widget.TextInputEditText android:id="@+id/first_name" android:layout_width="match_parent" android:layout_height="wrap_content" android:digits="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ- " android:ellipsize="end" android:hint="@string/first_name" android:imeOptions="actionNext" android:inputType="textCapWords" android:maxLength="35" android:maxLines="1" /> 

工作代码

  <android.support.design.widget.TextInputEditText android:id="@+id/first_name" android:layout_width="match_parent" android:layout_height="wrap_content" android:digits="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ- " android:ellipsize="end" android:hint="@string/first_name" android:imeOptions="actionNext" android:inputType="textCapWords" android:maxLength="35" android:maxLines="1" android:singleLine="true" /> 

我不喜欢使用已弃用的属性,但现在它似乎得到了预期的结果。

 <EditText android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@+id/auth_register_re_password" android:hint="Enter Password Again" android:imeActionLabel="login" android:gravity="center" android:imeOptions="actionUnspecified" android:inputType="textPassword" android:maxLines="1" />