imeOptions不适用于MultiAutoCompleteTextView和textMultiLine

时间:2017-06-29 06:04:20

标签: android textview

我正在使用MultiAutoCompleteTextView imeOptions =“actionDone”。 我需要将文字与自动完成和多行相关联,因此我将inputType设置为两者。

问题是,当键盘打开时,我看不到我预期的DONE按钮。当我将DONE更改为“文字”时,我才能看到inputType

这是当前字段的样子:

<MultiAutoCompleteTextView
    android:id="@+id/recording_desc"
    android:layout_width="0dp"
    android:layout_height="wrap_content"
    android:layout_weight="1"
    android:background="@android:color/transparent"
    android:completionThreshold="2"
    android:dropDownAnchor="@+id/autoCompletionArea"
    android:dropDownSelector="@color/white"
    android:imeOptions="actionDone"
    android:inputType="textMultiLine|textAutoComplete"
    android:maxLines="3"
    android:popupBackground="@color/offwhite"
    android:textColor="@color/text_color"
    android:textSize="@dimen/sharing_description_text_size"/>

任何想法如何解决这个问题,以便我可以同时使用字段mutliline并让imeOptions按预期工作?

2 个答案:

答案 0 :(得分:1)

我知道现在回答还为时已晚,但这是针对仍需要帮助的人

android:imeOption="actionDone"

不适用于MultiAutoCompleteTextView。 在要使用MultiAutoCompleteTextView的java类中编写以下行。

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

并在xml文件中添加以下行

android:inputType="textImeMultiLine"

这将正常工作。 :)

答案 1 :(得分:-1)

  

我可以同时使用字段多行并使imeOptions工作   正如我所料

。你不能这样做。如果您想享受 imeOptions 设施,只需将 maxLines 3更改为1 并删除 textMultiLine

不要

android:maxLines="3"
android:inputType="textMultiLine|textAutoComplete"

<强>不要

android:maxLines="1"
android:inputType="text|textAutoComplete" //Remove textMultiLine