分页库-具有多种视图类型的一个回收站

Jos*_*ška 5 android android-recyclerview android-room android-architecture-components android-jetpack

我正在使用项目中的所有Android体系结构组件(Room DB,Live Data等)。目前,我遇到一个问题,即RecyclerView应该使用从Room DB加载的数据并将其与Paging库一起显示。问题是存在多个数据类,这些数据类表示新闻源中的项目并存储在Room中,我需要在一个回收站中显示它们。

有什么办法可以轻松解决吗?例如,我可以创建所有这些类都将使用的接口吗?

dil*_*lix 2

您可以创建并连接

public interface NeewsFeedItem
    String getTitle();
    int getType();
    String data();
...
Run Code Online (Sandbox Code Playgroud)

您的每个模型implement NeewsFeedItem和适配器内部都由您决定要显示的视图类型以及如何显示正确的NeewsFeedItem.

您可以重写getItemViewType以显示不同 NeewsFeed 类型的不同演示。

您还可以检查FlexibleAdapter库,它可以帮助管理具有不同类型、页眉、页脚等的适配器。