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;// 左边的声音时间 } }

老薛主机入门建站月付34/月,年付345元,半价香港VPS主机

老薛主机怎么样?老薛主机这个商家有存在有一些年头。如果没有记错的话,早年老薛主机是做虚拟主机业务的,还算不错在异常激烈的市场中生存到现在,应该算是在众多商家中早期积累到一定的用户群的,主打小众个人网站业务所以能持续到现在。这不,站长看到商家有在进行夏季促销,比如我们很多网友可能有需要的香港vps主机季度及以上可以半价优惠,如果有在选择不同主机商的香港机房的可以看看老薛主机商家的香港vps。点击进入...

盘点618年中大促中这款云服务器/VPS主机相对值得选择

昨天有在"盘点2021年主流云服务器商家618年中大促活动"文章中整理到当前年中大促618活动期间的一些国内国外的云服务商的促销活动,相对来说每年年中和年末的活动力度还是蛮大的,唯独就是活动太过于密集,而且商家比较多,导致我们很多新人不懂如何选择,当然对于我们这些老油条还是会选择的,估计没有比我们更聪明的进行薅爆款新人活动。有网友提到,是否可以整理一篇当前的这些活动商家中的促销产品。哪些商家哪款产...

Friendhosting(月1.35欧元),不限流量,9机房可选

今天9月10日是教师节,我们今天有没有让孩子带礼物和花送给老师?我们这边不允许带礼物进学校,直接有校长在门口遇到有带礼物的直接拦截下来。今天有看到Friendhosting最近推出了教师节优惠,VPS全场45折,全球多机房可选,有需要的可以看看。Friendhosting是一家成立于2009年的保加利亚主机商,主要提供销售VPS和独立服务器出租业务,数据中心分布在:荷兰、保加利亚、立陶宛、捷克、乌...

listviewitem为你推荐
excel大写金额在EXCEL表格里怎样自动生成金额大写flash实例FLASH中实例是个什么概念,真心期待着!!!期待好心人,感恩!希望大家多讨论上行宽带上行宽带和下行宽带代表什么?网站客服代码请问怎么在网页里面加入在线客服系统的代码,代码要怎么获得?za是哪个国家的ci是在哪个国家产生的?哪个国家开始流行的za是哪个国家的IE是哪个国家的缩写za是哪个国家的奥洛菲是哪个国家的ocr软件下载如何安装汉王ocr文字识别软件erp系统教程ERP系统怎么使用erp系统教程如何使用ERP系统操作?
网站空间申请 新秒杀 hawkhost优惠码 360抢票助手 光棍节日志 网站实时监控 jsp空间 cdn联盟 双十一秒杀 cdn加速原理 服务器硬件防火墙 超级服务器 优酷黄金会员账号共享 美国独立日 秒杀品 hosting24 hosts文件修改 神棍节 9929 vim命令 更多