我正在使用MaterialSearchView库。当我第一次搜索时,将返回正确的元素。如果单击第一个结果,则会选择正确的元素,并且itemName
会在logcat中打印出来。如果我再次搜索另一项,则再次返回正确的元素,但是如果我选择任何结果,则将打印旧项(来自上一次搜索),而不是我选择的项。
这是我的代码:
materialSearchView.setOnItemClickListener((adapterView, view, position, l) -> {
String itemName = itemNames.get(position);
materialSearchView.closeSearch();
Log.d(TAG, itemName);
});
有什么想法吗?谢谢!
答案 0 :(得分:0)
问题出在@Indexed
而非itemNames
上。侦听器仅返回项目列表上的位置(这似乎是正确的),但列表可能尚未更新。
检查列表OnItemClickListener
的内容,并在进行新搜索时进行相应的更新。在不查看其余代码的情况下,我无法评论如何完成操作。