繁体   English   中英

当也输入第二个字符时,搜索输入的第一个字符。 我该如何解决?

[英]search for the first character entered happens when the 2nd character is also entered. How do I fix this?

代码截图

这是一个搜索视图的 onQueryTextChange。 我正在将过滤器应用于适配器并将列表视图的适配器设置为过滤后的适配器。 如果过滤后的 adapter.count 不为 0,它应该使视图可见,否则消失。

当我在搜索视图中输入一个字母时,问题就开始了。 当在搜索视图中输入 1 个字符时,adapter.count 的值是列表的长度。 当我输入第二个字符时,如果有匹配项,adapter.count 会更改为与输入的第一个字符匹配的项目数,或者变为 0。我希望在我输入任何内容之前,adapter.count 的值是列表的长度,并且输入第一个字符时应应用第一个字符过滤器。

TL;DR:当第二个字符也被输入时,搜索输入的第一个字符。 我该如何解决?

抱歉,arrayAdapterFavourites 是您传递给适配器或适配器本身的列表? 是适配器吧?

避免动态设置 recyclerView 的适配器。 例如,将其设置为 onCreate。

在使用您在搜索视图中键入的查询过滤您传递给适配器的列表后,您必须更新适配器的列表并通知您的适配器其内容已更改才能看到结果,使用adapter.notifyDataSetChanged()示例或任何其他变体。 (检查此链接以了解它们之间的区别)

此外,我建议使用if (list.isNotEmpty)而不是if (adapter.count != 0)

我希望这可以帮助你。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM