在MaterialSearchView中第二次搜索时出错元素

问题描述 投票:3回答:1

我正在使用MaterialSearchView库。当我第一次搜索时,返回正确的元素。如果我单击第一个结果,则选择正确的元素,并在logcat中打印出itemName。如果我再次搜索另一个项目,则会再次返回正确的元素,但如果我选择任何结果,则会打印旧项目(来自上一次搜索),而不是我选择的项目。

这是我的代码:

materialSearchView.setOnItemClickListener((adapterView, view, position, l) -> {
    String itemName = itemNames.get(position);
    materialSearchView.closeSearch();
    Log.d(TAG, itemName);
});

有任何想法吗?谢谢!

android searchview android-search
1个回答
0
投票

问题在于itemNames而不是OnItemClickListener。监听器仅返回项目列表上的位置(这似乎是正确的),但列表可能尚未更新。

检查列表itemNames的内容,并在进行新搜索时进行相应更新。我不能评论如何在不查看其余代码的情况下完成它。

© www.soinside.com 2019 - 2024. All rights reserved.