尝试将LiveData列表作为参数传递

时间:2019-05-15 05:03:02

标签: android android-room android-livedata

我正在尝试在房间内以视图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所做的工作存在一些根本性的缺陷。

0 个答案:

没有答案
相关问题