【发布时间】:2018-10-22 14:37:58
【问题描述】:
我的屏幕上有一个 AutocompleteTextView。默认情况下,当用户单击 autocompletetextviews 的下拉项中的一项时,它会将此 autocompletetextview 的文本设置为该选定项的值。
有什么方法可以禁用它吗?那么当用户点击一个下拉项时,只有onItemClickListener触发了?
在onItemClickListener 中将值设置为“”不是一个选项。
autoCompleteTextView.setOnItemClickListener { adapterView, view, i, l ->
autoCompleteTextView.setText("")
}
因为我需要我的TextWatcher 不被触发
【问题讨论】:
-
为什么? AutoCompleteTextView 的全部意义在于自动完成用户选择的内容。在任何情况下,只需取消设置您的 TextWatcher,设置文本,然后重置您的 TextWatcher。
-
@TheWanderer 以及我如何知道何时取消设置 textwatcher?我仍然需要监控用户输入。
-
在您的项目点击侦听器被触发时取消设置,然后在该侦听器内将文本设置回空白后重置它。
-
@TheWanderer 这不是它的工作原理 1. 用户点击项目 2. 自动完成设置它对所选项目的价值 3. textwatcher 触发 4. onItemClickListener 触发 5. ...
-
你不需要任何
TextWatcher- 你所要做的就是在你传递给Filterable的适配器中实现FilterAutoCompleteTextView- 请参见here可以间接做到这一点(不从头开始实现Filter)