Recyclerview 多种 item 布局的通用 Adapter MultiItemAdapter
2017-01-23 13:51
387 查看
这个多种item的通用Adapter继承的CommonAdapter 是上一篇 打造
Recyclerview 的万能 Adapter 的内容
MultiItemTypeSupport接口在这里
Recyclerview 的万能 Adapter 的内容
/** * 多种 item 布局的通用 adapter * 继承RecyclerView 的通用 CommonAdapter * Created by suwenlai on 16-12-29. */ public abstract class MultiItemAdapter<T> extends CommonAdapter { private MultiItemTypeSupport<T> mMultiItemTypeSupport; /** * 构造方法 * @param datas * @param context * @param multiItemTypeSupport 多种 item 布局支持接口 */ public MultiItemAdapter(List<T> datas, Context context, MultiItemTypeSupport<T> multiItemTypeSupport) { super(datas, context, -1); mMultiItemTypeSupport = multiItemTypeSupport; } @Override public int getItemViewType(int position) { return mMultiItemTypeSupport.getItemViewType(position, (T) mDatas.get(position)); } @Override public CommonHolder onCreateViewHolder(ViewGroup parent, int viewType) { int layoutId = mMultiItemTypeSupport.getLayoutId(viewType); CommonHolder holder = CommonHolder.getHolder(mContext, parent, layoutId); return holder; } }
MultiItemTypeSupport接口在这里
* 多种 item 布局支持接口 * Created by suwenlai on 16-12-29. */ public interface MultiItemTypeSupport<T> { /** * 根据不同的 itemtype 获取不同类型的布局文件 * @param itemType * @return */ int getLayoutId(int itemType); /** * 根据不同 position 的 bean 生成不同的的 item 布局 * @param position * @param t 多种不同 item 传入的 bean 数据 * @return */ int getItemViewType(int position,T t); }
相关文章推荐
- RecyclerView多种item布局
- RecyclerView实现多种item布局
- Kotlin实战(二): 实现RecyclerView多种Item布局
- Android RecyclerView实现多种item布局的方法
- RecyclerView加载多种item布局
- [置顶] RecyclerView实现加载多种条目类型,仿新闻列表多种item布局.
- Android 中RecyclerView多种item布局的写法(头布局+脚布局)
- RecyclerView使用(二)多种Item布局、添加点击事件
- RecyclerView显示多种Item布局
- CoordinatorLayout +RecyclerView+加载不同布局的item
- RecyclerView多种item类型头部底部
- RecyclerView的加载显示多种布局
- 让多种类型item的Recyclerview能够上拉和下拉刷新--XRefreshView
- Android RecyclerView通用Adapter及item拖拽、滑动删除
- RecyclerView中的多种布局
- RecyclerView添加多种布局
- RecyclerView添加多个样式不同的Item布局
- android listview多种布局 getViewTypeCount和getItemViewType
- Android ListView Adapter的getItemViewType和getViewTypeCount多种布局
- 网格布局的RecyclerView高度随Item自适应