setImeOptions在设置android:inputType =“ text”时不起作用,但是在使用android:inputType =“ textPassword”时却起作用?

时间:2018-10-12 19:29:06

标签: android imeoptions

我有一个EditText:

<EditText
                            android:id="@+id/vpa"
                            android:layout_width="match_parent"
                            android:layout_height="wrap_content"
                            android:background="@drawable/roundedcornerwhite"
                            android:digits="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-.@"
                            android:hint="Enter UPI ID"
                            android:imeOptions="actionDone"
                            android:maxLines="1"
                            android:inputType="text"
                            android:paddingBottom="14dp"
                            android:paddingLeft="@dimen/padding_10dp"
                            android:paddingRight="@dimen/padding_10dp"
                            android:paddingTop="14dp"
                            android:textColor="@color/colorPrimaryText"
                            android:textColorHint="@color/hintcolor"
                            android:textCursorDrawable="@drawable/cursor"
                            android:textSize="@dimen/large_text_size" />

当我将inputType设置为textPassword时,尽管我无法获得所需的actionDone按钮,但imeoptions仍在工作。但是,当我使用输入类型文本时,在这种情况下imeoptions不起作用。我在做什么错了?

1 个答案:

答案 0 :(得分:0)

XML中的EditText有其自己的意志。

以编程方式进行操作即可解决您的问题:

vpa.setImeOptions(EditorInfo.IME_ACTION_DONE);
vpa.setRawInputType(InputType.TYPE_CLASS_TEXT);