在FirestoreRecyclerAdapter中膨胀多个布局

时间:2019-05-11 03:57:44

标签: android firebase firebaseui recyclerview-layout

我正在尝试在FirestoreRecyclerAdapter中膨胀至少两个布局,但似乎在FirestoreRecyclerAdapter中没有针对双重布局的声明,因为我在onCreateViewHolder()上遇到问题,请看一下:

  @NonNull
        @Override
        public RecyclerView.ViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int viewType) {
            if (viewType == TYPE_ONE){
                View view = LayoutInflater.from(viewGroup.getContext()).inflate(R.layout.category_item_layout, viewGroup, false);
                return new MainCategoryHolder(view);
            }else if (viewType == TYPE_TEST){
                View view = LayoutInflater.from(viewGroup.getContext()).inflate(R.layout.test_layout_item, viewGroup, false);
                return new TestLayoutHolder(view);
            }

        }

这就是我得到的:

“从com.firebase.ui.firestore.FirestoreRecyclerAdapter派生的匿名类”中的“ onCreateViewHolder(ViewGroup,int)”与“ android.support.v7.widget”中的“ onCreateViewHolder(ViewGroup,int)”相冲突。 RecyclerView.Adapter';尝试使用不兼容的返回类型

我知道发生了什么错误,但是,有什么替代方法,通过使用相同的getItemViewType与普通的recyclerview相比,这简直是小菜一碟,但是我找不到实现FirestoreRecyclerAdapter的方法,甚至有可能吗? / p>

这是我的 getItemViewType()

  @Override
        public int getItemViewType(int position) {
            if (position % 2 == 0){
                return TYPE_TEST;
            }else {
                return TYPE_ONE;
            }
        }

0 个答案:

没有答案