actionDone ime选项在Android 2.3的EditText上不起作用

我在使用Android 2.3中的EditText遇到问题。

我有一个用android:imeOptions="actionDone"属性定义的EditText ,但是当我用虚拟键盘写入时,返回键没有检测到actionDone ,它引入了一个返回行。

在Android 2.2中工作正常。

 <EditText android:layout_height="wrap_content" android:layout_width="fill_parent" android:imeOptions="actionDone" /> 

我已经解决了这个问题。 我已经添加了android:singleLine="true"属性,它的工作原理是正确的。

 <EditText android:layout_height="wrap_content" android:layout_width="fill_parent" android:imeOptions="actionDone" android:singleLine="true" /> 

另一个值得注意的是,如果你指定了android:digitsandroid:imeOptions不起作用。 不知道这是否影响所有的Android版本。

目前在Android Studio 2.2.3如果你使用

 android:singleLine="true" 

IDE给出了一个警告,它已被弃用,而不是使用maxlines。

 android:maxLines="1" 

但是maxLines不能解决问题。 解决方法是只添加属性inputType 。 例如:

 <EditText android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/actionDoneDemo" android:layout_below="@id/nameET" android:imeOptions="actionDone" android:hint="Action Done Demo" android:inputType="text"/> 

只需指定inputType

这对我有用