Android中ListView多种Item布局
16lz
2021-12-04
类似 经常 使用的 一套 布局一个ViewHolder(持有 conterView的子View),多增加了 若干ViewHolder
结构 例如
Message msg = myList.get(position); int type = getItemViewType(position); ViewHolderTime holderTime = null; ViewHolderRightText holderRightText = null; ViewHolderRightImg holderRightImg = null; if (convertView == null) { switch (type) { case VALUE_TIME_TIP: holderTime = new ViewHolderTime(); convertView = mInflater.inflate(R.layout.list_item_time_tip, null); holderTime.tvTimeTip = (TextView) convertView .findViewById(R.id.tv_time_tip); holderTime.tvTimeTip.setText(msg.getValue()); convertView.setTag(holderTime); break; // 左边 case VALUE_LEFT_TEXT: holderLeftText = new ViewHolderLeftText(); convertView = mInflater.inflate(R.layout.list_item_left_text, null); holderLeftText.ivLeftIcon = (ImageView) convertView .findViewById(R.id.iv_icon); holderLeftText.btnLeftText = (Button) convertView .findViewById(R.id.btn_left_text); holderLeftText.btnLeftText.setText(msg.getValue()); convertView.setTag(holderLeftText); break; case VALUE_LEFT_IMAGE: holderLeftImg = new ViewHolderLeftImg(); convertView = mInflater.inflate(R.layout.list_item_left_iamge, null); holderLeftImg.ivLeftIcon = (ImageView) convertView .findViewById(R.id.iv_icon); holderLeftImg.ivLeftImage = (ImageView) convertView .findViewById(R.id.iv_left_image); holderLeftImg.ivLeftImage.setImageResource(R.drawable.test); convertView.setTag(holderLeftImg); break; } } else { switch (type) { case VALUE_TIME_TIP: holderTime=(ViewHolderTime)convertView.getTag(); holderTime.tvTimeTip.setText(msg.getValue()); break; case VALUE_LEFT_TEXT: holderLeftText=(ViewHolderLeftText)convertView.getTag(); holderLeftText.btnLeftText.setText(msg.getValue()); break; case VALUE_LEFT_IMAGE: holderLeftImg=(ViewHolderLeftImg)convertView.getTag(); holderLeftImg.ivLeftImage.setImageResource(R.drawable.test); break; } } return convertView;
更多相关文章
- 【API Guides视频系列】第1篇Application Fundamentals(应用程序
- Android(安卓)学习笔记 一、目录结构
- android 初级篇:(一)漫谈android
- Android(安卓)学习笔记 一、目录结构
- android程序加载so动态库和jar包
- Android的源代码结构 && 一些常用术语 && Android的支持库 && ap
- APP签名打包时遇到的问题
- 如何在android画分析图(例如 柱状图、趋势图、饼图)
- Android的NDK开发(4)————JNI数据结构之JNINativeMethod