如何在Android中的AutoCompleteTextiView上获得“完成”以显示和退出键盘?

问题描述 投票:0回答:1

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

我尝试过的事情:

我搜索了一些帖子,但找不到与此特定问题有关的帖子。因此,我尝试了另一种适用于[[EditText的帖子中发布的以下解决方案,因此可以将此“完成”操作应用于同一活动中的多个AutoCompleteTextViews(发布为here)。同样,问题是尽管为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; } }

android autocompletetextview imeoptions
1个回答
0
投票
inputType后,将显示完成按钮。因此,似乎需要用[[inputType定义的[[imeOptions需要,否则将不会显示完成按钮。这是来自以下链接的建议之一,尽管未批准任何答案。

Done is not working in softKeyboard in Autocomplete TextView in android

android:inputType="text" android:imeOptions="actionDone"
© www.soinside.com 2019 - 2024. All rights reserved.