Java源码示例:com.d.lib.xrv.adapter.MultiItemTypeSupport

示例1
@Override
protected RecyclerView.Adapter getAdapter() {
    return new SheetAdapter(mContext, mDatas, new MultiItemTypeSupport<Bean>() {
        @Override
        public int getLayoutId(int viewType) {
            if (viewType == Bean.TYPE_CONTENT) {
                return R.layout.lib_pub_adapter_dlg_bottom_share_content;
            } else if (viewType == Bean.TYPE_PASSWORD) {
                return R.layout.lib_pub_adapter_dlg_bottom_share_psw;
            }
            return R.layout.lib_pub_adapter_dlg_bottom_share_content;
        }

        @Override
        public int getItemViewType(int position, Bean bean) {
            return bean.type;
        }
    });
}
 
示例2
@Override
protected void init() {
    p = Preferences.getIns(getActivity().getApplicationContext());
    isShowAdd = p.getIsShowAdd();
    adapter = new CustomListAdapter(getActivity(), new ArrayList<CustomListModel>(), new MultiItemTypeSupport<CustomListModel>() {
        @Override
        public int getLayoutId(int viewType) {
            switch (viewType) {
                case -1:
                    return R.layout.module_local_adapter_custom_list_add;
                default:
                    return R.layout.module_local_adapter_custom_list;
            }
        }

        @Override
        public int getItemViewType(int position, CustomListModel customListModel) {
            return customListModel.pointer;
        }
    });
    lvList.setAdapter(adapter);
}
 
示例3
@Override
protected CommonAdapter<TransferModel> getAdapter() {
    return new TransferAdapter(mContext, new ArrayList<TransferModel>(), type,
            new MultiItemTypeSupport<TransferModel>() {
                @Override
                public int getLayoutId(int viewType) {
                    switch (viewType) {
                        case TransferModel.TRANSFER_TYPE_HEAD_NOT:
                            return R.layout.module_transfer_adapter_head_downloading;
                        case TransferModel.TRANSFER_TYPE_HEAD_DONE:
                            return R.layout.module_transfer_adapter_head_downloaded;
                        case TransferModel.TRANSFER_TYPE_MV:
                        default:
                            return R.layout.module_transfer_adapter_mv;
                    }
                }

                @Override
                public int getItemViewType(int position, TransferModel model) {
                    return model.transferType;
                }
            });
}
 
示例4
@Override
protected CommonAdapter<TransferModel> getAdapter() {
    return new TransferAdapter(mContext, new ArrayList<TransferModel>(), type,
            new MultiItemTypeSupport<TransferModel>() {
                @Override
                public int getLayoutId(int viewType) {
                    switch (viewType) {
                        case TransferModel.TRANSFER_TYPE_HEAD_NOT:
                            return R.layout.module_transfer_adapter_head_downloading;
                        case TransferModel.TRANSFER_TYPE_HEAD_DONE:
                            return R.layout.module_transfer_adapter_head_downloaded;
                        case TransferModel.TRANSFER_TYPE_SONG:
                        default:
                            return R.layout.module_transfer_adapter_song;
                    }
                }

                @Override
                public int getItemViewType(int position, TransferModel model) {
                    return model.transferType;
                }
            });
}
 
示例5
@Override
protected RecyclerView.Adapter getAdapter() {
    return new SheetAdapter(mContext, mDatas, new MultiItemTypeSupport<Bean>() {
        @Override
        public int getLayoutId(int viewType) {
            if (viewType == Bean.TYPE_CONTENT) {
                return R.layout.lib_pub_adapter_dlg_bottom_share_content;
            } else if (viewType == Bean.TYPE_PASSWORD) {
                return R.layout.lib_pub_adapter_dlg_bottom_share_psw;
            }
            return R.layout.lib_pub_adapter_dlg_bottom_share_content;
        }

        @Override
        public int getItemViewType(int position, Bean bean) {
            return bean.type;
        }
    });
}
 
示例6
private void init() {
    // Step 1: 获取引用
    LRecyclerView rvList = (LRecyclerView) this.findViewById(R.id.lrv_list);
    // step 2: New Adapter
    MultipleAdapter adapter = new MultipleAdapter(this, Factory.createDatas(15), new MultiItemTypeSupport<Bean>() {
        @Override
        public int getLayoutId(int viewType) {
            // Step 2-2: 根据type返回layout布局
            switch (viewType) {
                case 0:
                    return R.layout.item_0;
                case 1:
                    return R.layout.item_1;
                case 2:
                    return R.layout.item_2;
                case 3:
                    return R.layout.item_3;
                default:
                    return R.layout.item_0;
            }
        }

        @Override
        public int getItemViewType(int position, Bean bean) {
            // Step 2-1: 获取type类型
            return bean.type;
        }
    });
    // Step 3: SetAdapter
    rvList.setAdapter(adapter);
}
 
示例7
@Override
protected CommonAdapter<MVDetailModel> getAdapter() {
    return new MVDetailAdapter(mContext, new ArrayList<MVDetailModel>(), new MultiItemTypeSupport<MVDetailModel>() {
        @Override
        public int getLayoutId(int viewType) {
            switch (viewType) {
                case MVDetailModel.TYPE_INFO:
                    return R.layout.module_online_adapter_mv_detail_info;
                case MVDetailModel.TYPE_SIMILAR_HEAD:
                    return R.layout.module_online_adapter_mv_detail_similar_head;
                case MVDetailModel.TYPE_SIMILAR:
                    return R.layout.module_online_adapter_mv_detail_similar;
                case MVDetailModel.TYPE_COMMENT_HEAD:
                    return R.layout.module_online_adapter_mv_detail_comment_head;
                default:
                    return R.layout.module_online_adapter_mv_detail_comment;
            }
        }

        @Override
        public int getItemViewType(int position, MVDetailModel model) {
            if (model instanceof MVInfoModel) {
                return MVDetailModel.TYPE_INFO;
            } else if (model instanceof MVSimilarModel) {
                return MVDetailModel.TYPE_SIMILAR;
            }
            return model.view_type;
        }
    });
}
 
示例8
SheetAdapter(Context context, List<Bean> datas, MultiItemTypeSupport<Bean> multiItemTypeSupport) {
    super(context, datas, multiItemTypeSupport);
}
 
示例9
public CustomListAdapter(Context context, List<CustomListModel> datas, MultiItemTypeSupport<CustomListModel> multiItemTypeSupport) {
    super(context, datas, multiItemTypeSupport);
    manager = new SlideManager();
    event = new RefreshEvent(RefreshEvent.TYPE_INVALID, RefreshEvent.SYNC_CUSTOM_LIST);
}
 
示例10
public MVDetailAdapter(Context context, List<MVDetailModel> datas, MultiItemTypeSupport<MVDetailModel> multiItemTypeSupport) {
    super(context, datas, multiItemTypeSupport);
    circleTransform = new GlideCircleTransform(context);
    dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm", Locale.CHINA);
}
 
示例11
public TransferAdapter(Context context, List<TransferModel> datas, int type,
                       MultiItemTypeSupport<TransferModel> multiItemTypeSupport) {
    super(context, datas, multiItemTypeSupport);
    this.mType = type;
}
 
示例12
SheetAdapter(Context context, List<Bean> datas, MultiItemTypeSupport<Bean> multiItemTypeSupport) {
    super(context, datas, multiItemTypeSupport);
}
 
示例13
/**
 * @param context:              Context
 * @param datas:                填充数据源
 * @param multiItemTypeSupport: 多布局类型支持
 */
public MultipleAdapter(Context context, List<Bean> datas, MultiItemTypeSupport<Bean> multiItemTypeSupport) {
    super(context, datas, multiItemTypeSupport);
}