0

我的问题:我正在AutoCompleteTextView为用户使用选项列表,尽管使用android:imeOptions="actionDone"键盘设置了活动 xml,但仍提供返回选项,而不是向键盘显示“完成”选项。

我尝试过的:我搜索了一些帖子,但找不到与此特定问题有关的帖子。因此,我尝试了从另一篇适用于 的帖子中发布的以下解决方案EditText,因此我可以将此“完成”操作应用于同一活动中的多个 AutoCompleteTextViews(在此处发布)。

同样,问题是尽管AutoCompleteTextView为键盘设置了 XML,但仍actionDone显示返回箭头。

XML

 <AutoCompleteTextView
                    android:layout_width="0dp"
                    android:layout_height="wrap_content"
                    android:id="@+id/viewSource"
                    android:hint="@string/hint_source"
                    android:imeOptions="actionDone"
                    android:padding="5dp"
                    android:background="@color/colorWhite"
                    app:layout_constraintStart_toEndOf="@id/lblViewSource"
                    android:layout_marginStart="5dp"
                    app:layout_constraintEnd_toEndOf="parent"
                    android:textSize="12sp"
                    android:layout_marginEnd="5dp"
                    app:layout_constraintBaseline_toBaselineOf="@+id/lblViewSource"/>

AutoCompleteTextView 调用代码

sourceTitle.setOnEditorActionListener(new DoneOnEditorActionListener());

用于管理“完成”和键盘关闭的自定义类代码

class DoneOnEditorActionListener implements AutoCompleteTextView.OnEditorActionListener {
    @Override
    public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
        if (actionId == EditorInfo.IME_ACTION_DONE) {
            InputMethodManager imm = (InputMethodManager)v.getContext().getSystemService(Context.INPUT_METHOD_SERVICE);
            imm.hideSoftInputFromWindow(v.getWindowToken(), 0);
            return true;
        }
        return false;
    }
}
4

1 回答 1

0

以下最终解决了我的问题。一旦我inputType在活动 XML 中添加并定义了完成按钮,就会出现。因此,inputType使用或完成按钮定义的需求似乎imeOptions不会出现。这是来自以下链接的建议之一,尽管没有一个答案被批准。

完成在 android 的 Autocomplete TextView 中的 softKeyboard 中不起作用

android:inputType="text"
android:imeOptions="actionDone"
于 2020-04-05T13:14:09.090 回答