我正在使用 MaterialSearchView图书馆。当我第一次搜索时,返回了正确的元素。如果我单击第一个结果,则会选择正确的元素并在 logcat 中打印出 itemName
。如果我再次搜索另一个项目,将再次返回正确的元素,但如果我选择任何结果,则会打印旧项目(来自上一次搜索),而不是我选择的那个。
这是我的代码:
materialSearchView.setOnItemClickListener((adapterView, view, position, l) -> {
String itemName = itemNames.get(position);
materialSearchView.closeSearch();
Log.d(TAG, itemName);
});
有什么想法吗?谢谢!
最佳答案
问题在于 itemNames
而不是 OnItemClickListener
。监听器仅返回项目列表中的位置(这似乎是正确的)但列表可能尚未更新。
检查列表 itemNames
的内容,并在进行新搜索时相应地更新它。如果不查看其余代码,我无法评论如何完成。
关于android - 在 MaterialSearchView 中第二次搜索时获取错误元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55521424/