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);
}