我有一个AutoCompleteTextView,当输入与其ArrayAdapter数据匹配的少量关键字时,它将显示提示列表。
目前,我已经设置了一个AdapterView.OnItemClickListener,所以当用户单击提示时,屏幕上的软键盘会关闭。
我的目标是:
我想添加一个功能,允许用户从数据库中删除提示的数据,因此我考虑为AdapterView添加另一个ClickListener,例如LongClickListener,因此当用户长按提示时,它将触发一个对话框弹出并提示用户进行删除确认。
我一直在搜索如何在自动完成上设置LongClickListener,然而我在网上找不到任何解决方案。
我相信确保Click Listen能够获取提示的位置(以Int形式)或文本数据(以String形式)非常重要,因为我需要确定被选中的数据,并告诉数据库将其删除。
我的问题是:
如何为AutoCompleteTextView设置Long Click Listener,以便还可以获得所选提示的位置?
欢迎任何其他解决方案,以帮助实现我的目标,谢谢。
注意:我希望保留选择提示时隐藏软键盘的功能。我也接受Java语言的答案。
我已经做了什么:
目前,我已经设置了一个AdapterView.OnItemClickListener,所以当用户单击提示时,屏幕上的软键盘会关闭。
我的目标是:
我想添加一个功能,允许用户从数据库中删除提示的数据,因此我考虑为AdapterView添加另一个ClickListener,例如LongClickListener,因此当用户长按提示时,它将触发一个对话框弹出并提示用户进行删除确认。
我一直在搜索如何在自动完成上设置LongClickListener,然而我在网上找不到任何解决方案。
我相信确保Click Listen能够获取提示的位置(以Int形式)或文本数据(以String形式)非常重要,因为我需要确定被选中的数据,并告诉数据库将其删除。
我的问题是:
如何为AutoCompleteTextView设置Long Click Listener,以便还可以获得所选提示的位置?
欢迎任何其他解决方案,以帮助实现我的目标,谢谢。
注意:我希望保留选择提示时隐藏软键盘的功能。我也接受Java语言的答案。
我已经做了什么:
// Get an ArrayList<String> from database and declare to remarkList
val remarkList: ArrayList<String> = getDataFromDatabase()
// Set remarkList Data into ArrayAdapter
val adapter = ArrayAdapter(context!!, android.R.layout.simple_list_item_1, remarkList)
// Set ArrayAdapter to AutoCompleteTextView
autoComplete_remarks.setAdapter<ArrayAdapter<String>>(adapter)
// When click the hint selection, will trigger close keyboard function
autoComplete_remarks.onItemClickListener =
AdapterView.OnItemClickListener { _: AdapterView<*>, _: View, position: Int, _: Long ->
hideKeyboard(activity!!)
}