我正在尝试在房间内以视图SearchView
来实现SQLite Database
。该应用程序有一个RecyclerView
和一个CardView
,用于显示数据库中的行。我正在尝试使用户可以使用SearchView
来过滤CardView
并仅显示与搜索匹配的卡片。我一直在关注这篇文章中的信息:Android - Implementing search filter to a RecyclerView。
无论如何,我的应用程序当前使用LiveData
方法getAllFlares()
,并且从数据库返回所有行。当然,返回的类型为LiveData
。链接中的过滤方法使您将ArrayList
作为参数传递给过滤方法。因此,我试图将getAllFlares()
的结果传递给过滤方法。为了使类型匹配,我更改了过滤方法,以接受LiveData
列表而不是ArrayList
列表。这是我尝试将LiveData
列表传递给过滤方法的代码:
LiveData<List<Flare>> flare;
flare = mFlareViewModel.getAllFlares();
adapter.filterFlareList(flare);
但是它给出了如下错误:
updateFlareList (java.util.List<com.android.fibrnah.Flare>) in FlareListAdapter cannot be applied to (androidx.lifecycle.LiveData<java.util.List<com.android.fibrnah.Flare>>)
我在做什么错?我觉得LiveData
所做的工作存在一些根本性的缺陷。