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

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

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

2019-11-09 14:26:35
字體:
來源:轉載
供稿:網友
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
亚洲色图35p| 久久精品国产96久久久香蕉| 国产精品女主播| 人人澡人人澡人人看欧美| 九九热精品在线| 欧美放荡办公室videos4k| 一区二区三区在线播放欧美| 国产又爽又黄的激情精品视频| 亚洲一区中文字幕| 久久精品国产亚洲精品| 日韩中文娱乐网| 色婷婷久久av| 日韩精品极品毛片系列视频| 中文国产成人精品| 欧美性猛交xxxxx水多| 欧美激情伊人电影| 久久精品精品电影网| 韩日欧美一区二区| 国产精品丝袜久久久久久不卡| 欧美激情精品久久久久久久变态| 一本色道久久综合狠狠躁篇的优点| 国产欧美精品在线播放| 热99精品只有里视频精品| 日韩精品极品在线观看播放免费视频| 国产欧美va欧美va香蕉在| 2020久久国产精品| 一本色道久久88亚洲综合88| 欧美色视频日本版| 亚洲第一网中文字幕| 亚洲国产古装精品网站| 国产精品女主播| 国产精品99久久久久久久久久久久| 久久91超碰青草是什么| 国产精品精品视频| 国产97在线播放| 欧美一区二区三区图| 久久男人资源视频| 91av在线播放| 欧美精品免费看| 国产精品入口夜色视频大尺度| 亚洲黄色av女优在线观看| 91免费在线视频网站| 亚洲一区免费网站| 日韩欧美高清在线视频| 亚洲成av人片在线观看香蕉| 日韩中文在线不卡| 亚洲欧美激情精品一区二区| 国产精品爱啪在线线免费观看| 国产精品久久久久久久av电影| 亚洲欧美另类中文字幕| 久久久亚洲成人| 亚洲欧美国产一本综合首页| 精品国产一区二区三区在线观看| 人人做人人澡人人爽欧美| 国产精品久久久久aaaa九色| 亚洲欧洲黄色网| 国产成人午夜视频网址| 91精品久久久久久综合乱菊| 欧美精品aaa| 91视频九色网站| 亚洲欧洲xxxx| 亚洲一区二区三区成人在线视频精品| 欧美—级a级欧美特级ar全黄| 在线视频欧美日韩| 国产精品观看在线亚洲人成网| 欧美一区二区影院| 欧美日韩精品在线播放| 91在线免费网站| 久久久久久久久久久人体| 色综合老司机第九色激情| 欧美老女人www| 日韩女优在线播放| 欧美做受高潮电影o| 欧美亚洲伦理www| 亚洲人成在线观看网站高清| 91精品国产综合久久香蕉的用户体验| 日本精品久久久| 亚洲欧美国产精品va在线观看| 国产美女被下药99| 亚洲精品一区久久久久久| 欧美xxxx14xxxxx性爽| 欧美黑人xxx| 久久精品美女视频网站| 欧美亚洲另类视频| 91中文字幕在线| 亚洲人午夜色婷婷| 国产亚洲xxx| 97超级碰在线看视频免费在线看| 国产高清视频一区三区| 日本中文字幕成人| 成人国产精品色哟哟| 欧美在线观看网址综合| 亚洲综合最新在线| 91性高湖久久久久久久久_久久99| 亚洲视频一区二区| 最新国产成人av网站网址麻豆| 92看片淫黄大片欧美看国产片| 日韩欧美福利视频| 久久综合久中文字幕青草| 欧美日韩亚洲成人| 欧美午夜影院在线视频| 日韩在线高清视频| 国产色视频一区| 亚洲国产精品热久久| 深夜精品寂寞黄网站在线观看| 国产不卡av在线免费观看| 国产精品一区二区三区毛片淫片| 中文字幕欧美国内| 亚洲精品久久久久中文字幕二区| 91国语精品自产拍在线观看性色| 国产成人一区二| 欧美激情欧美狂野欧美精品| 亚洲性生活视频| 欧美激情伊人电影| 中文字幕在线观看亚洲| 欧美在线视频免费播放| 中文字幕一区日韩电影| 国产精品久久99久久| 欧美成人中文字幕在线| 亚洲欧美精品suv| 中文字幕在线日韩| 国产精品小说在线| 91免费综合在线| 国产成人综合亚洲| 一本大道香蕉久在线播放29| 欧美裸体xxxx| 国模精品一区二区三区色天香| 91精品国产综合久久久久久蜜臀| 欧美性受xxx| 欧美一级电影免费在线观看| 久久成人这里只有精品| 欧美国产第一页| 亚洲va欧美va国产综合久久| 日韩成人av一区| 51视频国产精品一区二区| 亚洲免费人成在线视频观看| 97色在线观看免费视频| 一本一本久久a久久精品综合小说| 这里只有精品视频在线| 日韩精品高清视频| 亚洲国内高清视频| 国产亚洲视频在线| 亚洲自拍偷拍第一页| 国产盗摄xxxx视频xxx69| 正在播放欧美视频| 91亚洲永久免费精品| 欧美视频在线免费看| 97色在线播放视频| 永久免费看mv网站入口亚洲| 久久久综合av| 亚洲一区中文字幕在线观看| 欧美中文在线视频| 不卡av在线播放| 欧美老女人在线视频| 色黄久久久久久| 日韩精品久久久久久福利| 亚洲天堂av综合网| 精品亚洲一区二区三区在线观看| 欧美一级大片在线观看| 欧美精品生活片| 日韩av免费看| 国产成人精品在线播放| 欧美精品制服第一页| 欧美日韩午夜激情|