【问题标题】:How to add data to filtered list in Searchview from Recyclerview in Realtime如何实时从 Recyclerview 将数据添加到 Searchview 中的过滤列表
【发布时间】:2022-12-10 07:44:49
【问题描述】:

我想搜索 15 秒后添加的适配器中的项目(postDelayed runnable 方法,应用Looper.getMainlooper也无济于事)在我使用过的列表中可见通知数据集已更改在适配器中但在搜索中它没有出现。

到目前为止我尝试了什么:我启动了应用程序,因为我已经延迟了 15 秒然后我直接跳转到搜索视图我输入了这个项目名称然后找不到但我想要的是添加

我想要达到的目标:实时将更新的适配器数据添加到过滤列表中。因此,在搜索视图中它将接收更新的数据。

Github 回购链接:https://github.com/AbhishekTiwariAndroid/Searchviewjava

【问题讨论】:

  • 在 OnTextchange 方法集 notifyDataSetChanged 上尝试 Textwatcher。
  • 意味着我在 searchview 中写了一个文本,如果找不到,然后在找到时显示它。

标签: java android android-recyclerview searchview


【解决方案1】:

将新项目添加到延迟后的现有列表后,刚刚添加了一行过滤器(searchView.getQuery()。toString());

new Handler( ).postDelayed(new Runnable( ) {
                    @Override
                    public void run() {
                        courseModelArrayList.add(new CourseModel("Cosmic", "Trade share market"));
                        System.out.println("cosmic " );

                        adapter.notifyDataSetChanged();
                        filter(searchView.getQuery().toString());
                    }
                },5000);

【讨论】:

  • 您可以通过将 postDelayed 时间从 5000 毫秒增加到 15000 毫秒来进行正确测试。因此它将在搜索项目上显示正确的实时结果。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-08-04
  • 2019-02-14
  • 2019-04-11
  • 1970-01-01
  • 1970-01-01
  • 2016-10-29
  • 1970-01-01
相关资源
最近更新 更多