我的问题:我正在为用户使用选项的[[AutoCompleteTextView
选项列表,尽管使用android:imeOptions="actionDone"
设置了活动xml,但键盘仍然提供了返回选项向键盘显示“完成”选项。
我尝试过的事情:
我搜索了一些帖子,但找不到与此特定问题有关的帖子。因此,我尝试了另一种适用于[[EditText
的帖子中发布的以下解决方案,因此可以将此“完成”操作应用于同一活动中的多个AutoCompleteTextViews(发布为here)。同样,问题是尽管为AutoCompleteTextView
设置了XML actionDone
<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;
}
}
inputType
后,将显示完成按钮。因此,似乎需要用[[inputType
定义的[[imeOptions
需要,否则将不会显示完成按钮。这是来自以下链接的建议之一,尽管未批准任何答案。Done is not working in softKeyboard in Autocomplete TextView in android
android:inputType="text"
android:imeOptions="actionDone"