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