Open wuzhuohan7788 opened 2 years ago
因为GroupedRecyclerViewAdapter跟BaseViewHolder是强依赖关系,所以你必须使用BaseViewHolder。如果你想要自定义ViewHolder,可以让你的ViewHolder继承BaseViewHolder。
继承之后,通过哪个方法绑定到Adapter呢? @Override public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { if (viewType == 1) { return new ChildViewHolder(parent); } else { return new BasicViewHolder(parent); } } 这个吗?
我这边解决了,我重写了onCreateViewHolder方法 @Override public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { if (viewType == TYPE_HEADER) { return new HeadViewHolder(LayoutInflater.from(context).inflate(getHeaderLayout(viewType), parent, false)); } else if (viewType == TYPE_CHILD) { return new ChildViewHolder(LayoutInflater.from(context).inflate(getChildLayout(viewType), parent, false)); } return super.onCreateViewHolder(parent, viewType); } 这样在 onBindViewHolder里,传进来的就是我自定义的viewHolder
好的,谢谢!
我在用你的adapter时发现,只能用你写好的BaseViewHolder,但是我需要用自己的ViewHolder,请问有没有什么办法做到?