java - 如果不建议输入选项,则清除 AutoCompleteTextView
问题描述
我试图让用户输入以便他得到建议,但我不想让他完成输入,而是希望他选择一个选项。
这样做的原因是我需要获取所选选项的 ID(在这种情况下,id 是对象属性,而不是列表元素的 ID),如果未通过单击选择项目,我不知道该怎么做。
我曾尝试使用 onFocusChanged 方法,但似乎 autoComplete 控件不会失去焦点。尝试将以下选项添加到父级,但不起作用。
android:focusable="true"
android:focusableInTouchMode="true"
onFocusChange 代码:
mAutoCompleteTextView.setOnFocusChangeListener((v, hasFocus) -> {
if (!hasFocus) {
String str = mAutoCompleteTextView.getText().toString();
CustomListAdapter listAdapter = (CustomListAdapter) mAutoCompleteTextView.getAdapter();
for (int i = 0; i < listAdapter.getCount(); i++) {
String temp = listAdapter.getItem(i).getName();
if (str.compareTo(temp) == 0) {
return;
}
}
mAutoCompleteTextView.setText("");
}
});
即使单击其他元素,侦听器也不会触发。
解决方案
推荐阅读
- php - 如何从 laravel 的会话中删除数组
- javascript - 无法从组件道具设置 VueJs 组件数据值
- python - 为什么一个数组中值的变化会影响另一个数组(具有完全相同的值)上的值,而该值不参与操作?
- python - 超参数调优过程中简单参数是否也会发生变化
- excel - 计算 Range 中的唯一值,该值是另一个值的索引
- git - 通过 git 获取已发布版本的 3rd 方包
- google-app-engine - 谷歌云任务和谷歌应用引擎 Python 3
- r - 如果单元格属于特定列,则检索单元格的值
- vb.net - VB.net 文件处理进展缓慢
- xpath - Appium XPath 选择器返回 WebDriverException