listviewitemListView具有多种item布局

listviewitem  时间:2021-06-14  阅读:()

怎么获得listview每个item'的位置

每个item的高度需要从适配器里面设置,iew.setAdapter(adapter参数),这里面设置的适配器需要你自己定义,如果需要设置item高度,最好可以重写BaseAdapter 自定义Adapter,然后调用iew.setadapter()方法,设置自定义的adapter,这样自定义的adapter适配器如何显示完全就可以自己控制了。

item项的高度跟item布局有关 首先你需要自定义adapter,继承BaseAdapter就行了 然后在你自定义的adapter里getView方法里载入你自己的写的item布局,并以此返回 convertView = mInflater.inflate(R.layout.xxx, null); return convertView; 这样

android 取得listview中item的值

Loc= (TextView) arg1.findViewById(android.R.id.text1); 应该是这样吧,主要看text1和text2是什么控件,相应改变TextView就行

ListView具有多种item布局

1)重写 getViewTypeCount() – 该方法返回多少个不同的布局 2)重写 getItemViewType(int) – 根据position返回相应的Item [java] view plain copy print? /** * 比原来的多了getItemViewType和getViewTypeCount这两个方法, * * */ public class ChatAdapter extends BaseAdapter { public static final String KEY = "key"; public static final String VALUE = "value"; public static final int VALUE_TIME_TIP = 0;// 7种不同的布局 public static final int VALUE_LEFT_TEXT = 1; public static final int VALUE_LEFT_IMAGE = 2; public static final int VALUE_LEFT_AUDIO = 3; public static final int VALUE_RIGHT_TEXT = 4; public static final int VALUE_RIGHT_IMAGE = 5; public static final int VALUE_RIGHT_AUDIO = 6; private LayoutInflater mInflater; private List myList; public ChatAdapter(Context context, List myList) { this.myList = myList; mInflater = (LayoutInflater) context .getSystemService(Context.LAYOUT_INFLATER_SERVICE); } @Override public int getCount() { return myList.size(); } @Override public Object getItem(int arg0) { return myList.get(arg0); } @Override public long getItemId(int arg0) { return arg0; } @Override public View getView(int position, View convertView, ViewGroup arg2) { Message msg = myList.get(position); int type = getItemViewType(position); ViewHolderTime holderTime = null; ViewHolderRightText holderRightText = null; ViewHolderRightImg holderRightImg = null; ViewHolderRightAudio holderRightAudio = null; ViewHolderLeftText holderLeftText = null; ViewHolderLeftImg holderLeftImg = null; ViewHolderLeftAudio holderLeftAudio = null; if (convertView == null) { switch (type) { case VALUE_TIME_TIP: holderTime = new ViewHolderTime(); convertView = mInflater.inflate(R.layout.list_item_time_tip, null); TimeTip = (TextView) convertView .findViewById(_time_tip); TimeTip.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; case VALUE_LEFT_AUDIO: holderLeftAudio = new ViewHolderLeftAudio(); convertView = mInflater.inflate(R.layout.list_item_left_audio, null); holderLeftAudio.ivLeftIcon = (ImageView) convertView .findViewById(R.id.iv_icon); holderLeftAudio.btnLeftAudio = (Button) convertView .findViewById(R.id.btn_left_audio); LeftAudioTime = (TextView) convertView .findViewById(_left_audio_time); LeftAudioTime.setText(msg.getValue()); convertView.setTag(holderLeftAudio); break; // 右边 case VALUE_RIGHT_TEXT: holderRightText= new ViewHolderRightText(); convertView = mInflater.inflate(R.layout.list_item_right_text, null); holderRightText.ivRightIcon = (ImageView) convertView .findViewById(R.id.iv_icon); holderRightText.btnRightText = (Button) convertView .findViewById(R.id.btn_right_text); holderRightText.btnRightText.setText(msg.getValue()); convertView.setTag(holderRightText); break; case VALUE_RIGHT_IMAGE: holderRightImg= new ViewHolderRightImg(); convertView = mInflater.inflate(R.layout.list_item_right_iamge, null); holderRightImg.ivRightIcon = (ImageView) convertView .findViewById(R.id.iv_icon); holderRightImg.ivRightImage = (ImageView) convertView .findViewById(R.id.iv_right_image); holderRightImg.ivRightImage.setImageResource(R.drawable.test); convertView.setTag(holderRightImg); break; case VALUE_RIGHT_AUDIO: holderRightAudio=new ViewHolderRightAudio(); convertView = mInflater.inflate(R.layout.list_item_right_audio, null); holderRightAudio.ivRightIcon = (ImageView) convertView .findViewById(R.id.iv_icon); holderRightAudio.btnRightAudio = (Button) convertView .findViewById(R.id.btn_right_audio); RightAudioTime = (TextView) convertView .findViewById(_right_audio_time); RightAudioTime.setText(msg.getValue()); convertView.setTag(holderRightAudio); break; default: break; } } else { Log.d("baseAdapter", "Adapter_:"+(convertView == null) ); switch (type) { case VALUE_TIME_TIP: holderTime=(ViewHolderTime)convertView.getTag(); TimeTip.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; case VALUE_LEFT_AUDIO: holderLeftAudio=(ViewHolderLeftAudio)convertView.getTag(); LeftAudioTime.setText(msg.getValue()); break; case VALUE_RIGHT_TEXT: holderRightText=(ViewHolderRightText)convertView.getTag(); holderRightText.btnRightText.setText(msg.getValue()); break; case VALUE_RIGHT_IMAGE: holderRightImg=(ViewHolderRightImg)convertView.getTag(); holderRightImg.ivRightImage.setImageResource(R.drawable.test); break; case VALUE_RIGHT_AUDIO: holderRightAudio=(ViewHolderRightAudio)convertView.getTag(); RightAudioTime.setText(msg.getValue()); break; default: break; } //holder = (ViewHolder) convertView.getTag(); } return convertView; } /** * 根据数据源的position返回需要显示的的layout的type * * type的值必须从0开始 * * */ @Override public int getItemViewType(int position) { Message msg = myList.get(position); int type = msg.getType(); Log.e("TYPE:", "" + type); return type; } /** * 返回所有的layout的数量 * * */ @Override public int getViewTypeCount() { return 7; } class ViewHolderTime { private TimeTip;// 时间 } class ViewHolderRightText { private ImageView ivRightIcon;// 右边的头像 private Button btnRightText;// 右边的文本 } class ViewHolderRightImg { private ImageView ivRightIcon;// 右边的头像 private ImageView ivRightImage;// 右边的图像 } class ViewHolderRightAudio { private ImageView ivRightIcon;// 右边的头像 private Button btnRightAudio;// 右边的声音 private RightAudioTime;// 右边的声音时间 } class ViewHolderLeftText { private ImageView ivLeftIcon;// 左边的头像 private Button btnLeftText;// 左边的文本 } class ViewHolderLeftImg { private ImageView ivLeftIcon;// 左边的头像 private ImageView ivLeftImage;// 左边的图像 } class ViewHolderLeftAudio { private ImageView ivLeftIcon;// 左边的头像 private Button btnLeftAudio;// 左边的声音 private LeftAudioTime;// 左边的声音时间 } }

LOCVPS全场8折,香港云地/邦联VPS带宽升级不加价

LOCVPS发布了7月份促销信息,全场VPS主机8折优惠码,续费同价,同时香港云地/邦联机房带宽免费升级不加价,原来3M升级至6M,2GB内存套餐优惠后每月44元起。这是成立较久的一家国人VPS服务商,提供美国洛杉矶(MC/C3)、和中国香港(邦联、沙田电信、大埔)、日本(东京、大阪)、新加坡、德国和荷兰等机房VPS主机,基于XEN或者KVM虚拟架构,均选择国内访问线路不错的机房,适合建站和远程办...

LOCVPS洛杉矶CN2线路KVM上线,洛杉矶/香港云地/香港邦联7折

LOCVPS发来了新的洛杉矶CN2线路主机上线通知,基于KVM架构,目前可与香港云地、香港邦联机房XEN架构主机一起适用7折优惠码,优惠后最低美国洛杉矶CN2线路KVM架构2GB内存套餐月付38.5元起。LOCPVS是一家成立较早的国人VPS服务商,目前提供洛杉矶MC、洛杉矶C3、和香港邦联、香港沙田电信、香港大埔、日本东京、日本大阪、新加坡、德国和荷兰等机房VPS主机,基于KVM或者XEN架构。...

蓝速数据(58/年)秒杀服务器独立1核2G 1M

蓝速数据金秋上云季2G58/年怎么样?蓝速数据物理机拼团0元购劲爆?蓝速数据服务器秒杀爆产品好不好?蓝速数据是广州五联科技信息有限公司旗下品牌云计算平台、采用国内首选Zkeys公有云建设多种开通方式、具有IDC、ISP从业资格证IDC运营商新老用户值得信赖的商家。我司主要从事内地的枣庄、宿迁、深圳、绍兴、成都(市、县)。待开放地区:北京、广州、十堰、西安、镇江(市、县)。等地区数据中心业务,均KV...

listviewitem为你推荐
旺旺群发手机旺旺怎么群发信息?youtube创始人比特币创始人到底是谁excel大写金额EXCEL金额大写pat是什么格式pat是什么格式的文件啊云输入法如何使用QQ云输入法?qq管家官网腾讯手机管家如何下载QQ手机管家?医院排队系统请问医院采血排队的设备系统是独立的吗?防火墙技术应用在网络支付流程中,防火墙技术与数据加密技术应用则重点有什么不同?gbk内码怎么查GBK内码?flash序列号急求flash序列号
韩国服务器租用 新网域名解析 budgetvm 服务器评测 bluevm 秒解服务器 ca4249 中国电信测速112 cdn联盟 空间技术网 smtp虚拟服务器 hostease phpinfo ping值 卡巴下载 域名商城 winscpiphone 电脑主机打不开 国内云主机 新浪轻博客 更多