亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

使用此Adapter,代碼量可大大減少

2019-11-09 15:34:29
字體:
來源:轉載
供稿:網友
public class MultiItemTypeAdapter<T> extends RecyclerView.Adapter<ViewHolder> { PRotected Context mContext; protected List<T> mDatas; protected ItemViewDelegateManager mItemViewDelegateManager; protected OnItemClickListener mOnItemClickListener; public MultiItemTypeAdapter(Context context, List<T> datas) { mContext = context; mDatas = datas; mItemViewDelegateManager = new ItemViewDelegateManager(); } @Override public int getItemViewType(int position) { if (!useItemViewDelegateManager()) return super.getItemViewType(position); return mItemViewDelegateManager.getItemViewType(mDatas.get(position), position); } @Override public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { ItemViewDelegate itemViewDelegate = mItemViewDelegateManager.getItemViewDelegate(viewType); int layoutId = itemViewDelegate.getItemViewLayoutId(); ViewHolder holder = ViewHolder.createViewHolder(mContext, parent, layoutId); onViewHolderCreated(holder,holder.getConvertView()); setListener(parent, holder, viewType); return holder; } public void onViewHolderCreated(ViewHolder holder,View itemView){ } public void convert(ViewHolder holder, T t) { mItemViewDelegateManager.convert(holder, t, holder.getAdapterPosition()); } protected boolean isEnabled(int viewType) { return true; } protected void setListener(final ViewGroup parent, final ViewHolder viewHolder, int viewType) { if (!isEnabled(viewType)) return; viewHolder.getConvertView().setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { if (mOnItemClickListener != null) { int position = viewHolder.getAdapterPosition(); mOnItemClickListener.onItemClick(v, viewHolder , position); } } }); viewHolder.getConvertView().setOnLongClickListener(new View.OnLongClickListener() { @Override public boolean onLongClick(View v) { if (mOnItemClickListener != null) { int position = viewHolder.getAdapterPosition(); return mOnItemClickListener.onItemLongClick(v, viewHolder, position); } return false; } }); } @Override public void onBindViewHolder(ViewHolder holder, int position) { convert(holder, mDatas.get(position)); } @Override public int getItemCount() { int itemCount = mDatas.size(); return itemCount; } public List<T> getDatas() { return mDatas; } public MultiItemTypeAdapter addItemViewDelegate(ItemViewDelegate<T> itemViewDelegate) { mItemViewDelegateManager.addDelegate(itemViewDelegate); return this; } public MultiItemTypeAdapter addItemViewDelegate(int viewType, ItemViewDelegate<T> itemViewDelegate) { mItemViewDelegateManager.addDelegate(viewType, itemViewDelegate); return this; } protected boolean useItemViewDelegateManager() { return mItemViewDelegateManager.getItemViewDelegateCount() > 0; } public interface OnItemClickListener { void onItemClick(View view, RecyclerView.ViewHolder holder, int position); boolean onItemLongClick(View view, RecyclerView.ViewHolder holder, int position); } public void setOnItemClickListener(OnItemClickListener onItemClickListener) { this.mOnItemClickListener = onItemClickListener; }}

======================================================================

public abstract class CommonAdapter<T> extends MultiItemTypeAdapter<T>{ protected Context mContext; protected int mLayoutId; protected List<T> mDatas; protected LayoutInflater mInflater; public CommonAdapter(final Context context, final int layoutId, List<T> datas) { super(context, datas); mContext = context; mInflater = LayoutInflater.from(context); mLayoutId = layoutId; mDatas = datas; addItemViewDelegate(new ItemViewDelegate<T>() { @Override public int getItemViewLayoutId() { return layoutId; } @Override public boolean isForViewType( T item, int position) { return true; } @Override public void convert(ViewHolder holder, T t, int position) { CommonAdapter.this.convert(holder, t, position); } }); } protected abstract void convert(ViewHolder holder, T t, int position);}

======================================================================

@Override protected void initView() { mAdapter = new CommonAdapter<MeetingVo>(mBaseContext, R.layout.item_meeting, mMeetingVos) { @Override protected void convert(ViewHolder holder, MeetingVo meetingVo, int position) { holder.setText(R.id.tv_name, meetingVo.getTheme()); holder.setText(R.id.tv_address, meetingVo.getAddress()); holder.setText(R.id.tv_time, DateUtil.transferLongToDate("yyyy-MM-dd HH:mm:ss", meetingVo.getTime())); if (position == getItemCount() - 1) { holder.setImageResource(R.id.iv_divider, R.drawable.divider_gray); } else { holder.setImageResource(R.id.iv_divider, R.drawable.divider_white_gray); } holder.getConvertView().setOnClickListener(v -> { Intent intent = new Intent(mContext, MeetingDetailActivity.class); intent.putExtra("meetingVo", meetingVo); intent.putExtra("source", mSource); mContext.startActivity(intent); }); } }; mRecyclerView.setLayoutManager(new LinearLayoutManager(mBaseContext)); mRecyclerView.setAdapter(mAdapter ); }
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
久久久噜噜噜久久久| 中文字幕一精品亚洲无线一区| 久久久久久久999精品视频| 国产精品一区二区三区在线播放| 欧日韩在线观看| 久久视频在线播放| 亚洲男人7777| 国产97在线|日韩| 国产精品亚洲综合天堂夜夜| 日本一欧美一欧美一亚洲视频| 国产一区二区av| 久久久久久久久久久亚洲| 欧美大片欧美激情性色a∨久久| 精品久久久久久久久久ntr影视| 97在线看福利| 亚洲开心激情网| 亚洲精品国产精品国自产观看浪潮| 日韩高清av在线| 亚洲天堂开心观看| 国产精品流白浆视频| 不卡av日日日| 91久久国产精品91久久性色| 亚洲成人在线网| 国产精品白嫩初高中害羞小美女| 欧美精品18videos性欧| 久久综合电影一区| 狠狠干狠狠久久| 欧美日韩一区二区三区| 欧美在线观看日本一区| 国产经典一区二区| 国内成人精品一区| 中文字幕在线成人| 奇米一区二区三区四区久久| 狠狠做深爱婷婷久久综合一区| 欧美日韩国产一区二区| 福利二区91精品bt7086| 日韩欧美在线视频日韩欧美在线视频| 国产精品白嫩初高中害羞小美女| 久久久久久久久久久网站| 精品日韩视频在线观看| 九九热在线精品视频| 97久久精品视频| 欧美激情a在线| 91视频九色网站| 欧美xxxx做受欧美.88| 欧美人与物videos| 久久久久久国产| 日韩视频免费在线观看| 亚洲欧美国产精品久久久久久久| 夜夜嗨av色一区二区不卡| 国产成人精品电影久久久| 国产精品一区二区av影院萌芽| 国产精品久久久久aaaa九色| 久久久久久久久国产精品| 欧美日韩激情视频8区| 国内精品久久久久影院优| 国产91久久婷婷一区二区| 日韩av电影中文字幕| 欧美大学生性色视频| 深夜福利91大全| 国产精品日韩av| 国产精品一区久久久| 欧美肥老太性生活视频| 欧美亚洲在线观看| 岛国视频午夜一区免费在线观看| 亚洲精品国产综合区久久久久久久| 2019中文字幕全在线观看| 中文字幕精品网| 91系列在线播放| 这里只有精品视频在线| 一区二区三区日韩在线| 日韩中文字幕免费视频| 亚洲国产精品女人久久久| 欧美裸身视频免费观看| 好吊成人免视频| 成人字幕网zmw| 91免费看片在线| 国产精品88a∨| 欧美成人在线免费视频| 俺也去精品视频在线观看| 97视频在线播放| 亚洲欧美日韩国产中文专区| 亚洲第一国产精品| 69精品小视频| 欧美日韩国产综合新一区| 欧美大成色www永久网站婷| 亚洲综合最新在线| 97超级碰在线看视频免费在线看| 美女国内精品自产拍在线播放| 97久久精品人人澡人人爽缅北| 国产精品视频播放| 国产欧美va欧美va香蕉在线| 亚洲aaa激情| 国产日韩综合一区二区性色av| 亚洲国产女人aaa毛片在线| 精品国内产的精品视频在线观看| 亚洲精品免费在线视频| 在线观看国产精品淫| 91精品久久久久久| 亚洲精品成人av| 日韩欧美在线免费观看| 97在线视频免费播放| 91chinesevideo永久地址| 欧美猛交免费看| 在线免费看av不卡| 亚洲二区在线播放视频| 欧洲亚洲免费在线| 精品成人久久av| 中文字幕欧美在线| 午夜精品美女自拍福到在线| 亚洲一区二区三区视频| 日韩av在线影视| 久久久精品电影| 国产精品自产拍在线观看中文| 日韩av片电影专区| 欧美大片在线影院| 精品中文字幕在线2019| 欧美在线不卡区| 怡红院精品视频| 亚洲爱爱爱爱爱| 国产成人精品网站| xxxxx成人.com| 亚洲free嫩bbb| 欧美一区在线直播| 国产精品视频导航| 日韩在线观看免费高清| 亚洲香蕉在线观看| 成人一区二区电影| 免费99精品国产自在在线| 欧美激情成人在线视频| 国产日韩欧美自拍| 亚洲自拍偷拍一区| 国产精品69精品一区二区三区| 久久精品人人爽| 国内精品久久久久影院 日本资源| 97av视频在线| 精品夜色国产国偷在线| 国产欧美精品久久久| 成人av资源在线播放| 亚洲精品短视频| 精品小视频在线| 亚洲精品久久久久久下一站| 日本一区二区三区在线播放| 欧美福利视频在线观看| 欧美中文在线观看国产| 欧美日韩亚洲精品一区二区三区| 中文字幕亚洲二区| 欧美大肥婆大肥bbbbb| 亚洲国产精品成人av| 久久中文久久字幕| 日韩欧美成人网| 欧美色道久久88综合亚洲精品| 日韩欧美国产免费播放| 色噜噜狠狠色综合网图区| 国产精品入口免费视频一| 国产欧美日韩91| 91在线观看免费高清完整版在线观看| 美女国内精品自产拍在线播放| 亚洲一二在线观看| 欧美中文字幕在线视频| 亚洲天堂视频在线观看| 91在线观看免费高清| 91亚洲永久免费精品| 亚洲精品久久久久久下一站|