【发布时间】:2019-04-04 17:02:31
【问题描述】:
我正在使用MaterialSearchView 库。当我第一次搜索时,会返回正确的元素。如果我单击第一个结果,则会选择正确的元素并在 logcat 中打印出itemName。如果我再次搜索另一个项目,则会再次返回正确的元素,但如果我选择任何结果,则会打印旧项目(来自上一次搜索)而不是我选择的那个。
这是我的代码:
materialSearchView.setOnItemClickListener((adapterView, view, position, l) -> {
String itemName = itemNames.get(position);
materialSearchView.closeSearch();
Log.d(TAG, itemName);
});
有什么想法吗?谢谢!
【问题讨论】:
-
itemNames实际定义在哪里?另外,考虑在他们的 GitHub 存储库上针对这个问题打开一个问题。您更有可能在那里获得更快的响应。 -
你能分享你声明它的代码吗?似乎问题出在那个而不是 clickListener 因为您在这里只获得一个位置属性而不是项目列表。
-
是的,就是这样,关于职位的问题。位置是正确的,但列表中充满了旧元素。无论如何,谢谢!
-
没问题!我添加了一个答案,以防将来有人面临同样的问题。如果您在列表中添加更多详细信息,我将更新答案,提供有关如何解决问题的更多详细信息。
标签: android searchview android-search