donkingliang / GroupedRecyclerViewAdapter

GroupedRecyclerViewAdapter可以很方便的实现RecyclerView的分组显示,并且每个组都可以包含组头、组尾和子项;可以方便实现多种Type类型的列表,可以实现如QQ联系人的列表一样的列表展开收起功能,还可以实现头部悬浮吸顶功能等。
Apache License 2.0
1.65k stars 216 forks source link

请问,可以用我自己写的ViewHolder么? #82

Open wuzhuohan7788 opened 2 years ago

wuzhuohan7788 commented 2 years ago

我在用你的adapter时发现,只能用你写好的BaseViewHolder,但是我需要用自己的ViewHolder,请问有没有什么办法做到?

donkingliang commented 2 years ago

因为GroupedRecyclerViewAdapter跟BaseViewHolder是强依赖关系,所以你必须使用BaseViewHolder。如果你想要自定义ViewHolder,可以让你的ViewHolder继承BaseViewHolder。

wangrui-spiderNet commented 2 years ago

继承之后,通过哪个方法绑定到Adapter呢? @Override public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { if (viewType == 1) { return new ChildViewHolder(parent); } else { return new BasicViewHolder(parent); } } 这个吗?

wuzhuohan7788 commented 2 years ago

我这边解决了,我重写了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

wangrui-spiderNet commented 2 years ago

好的,谢谢!