来自多个 ViewType 的 Android FirestorePagingAdapter

问题描述 投票:0回答:1

我正在尝试根据从数据库返回的字段值(即 FirestorePagingAdapter)使用

type
在 RecyclerView 中显示不同的
views
。 我如何修改它以设置每个列表项的 RecyclerView 的特定视图。

  FirestorePagingAdapter<FeedItem, FeedViewHolder> pagingAdapter = new FirestorePagingAdapter<FeedItem, FeedViewHolder>(options) {

            @NonNull
            @Override
            public FeedViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
                // HANDLE VIEW TYPE
                return null;
            }

            @Override
            protected void onBindViewHolder(@NonNull FeedViewHolder holder, int position, @NonNull FeedItem model) {
                // ADD DATA TO VIEW
            }
        };
android google-cloud-firestore android-recyclerview
1个回答
0
投票

除了已有的方法之外,您还需要实现

getItemViewType

流程是这样的:

  1. 适配器首先使用它想要渲染的项目的位置调用您的
    getItemViewType
    方法,
  2. 然后返回一个数字,指示要为该位置渲染的视图类型,
  3. 适配器然后使用类型调用
    onCreateViewHolder
  4. 您使用它来创建并返回正确类型的视图,
  5. 他们传递给
    onBindViewHolder
    的适配器。

有关示例,请参阅:

© www.soinside.com 2019 - 2024. All rights reserved.