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

RackNerd提供四款高配美国服务器促销活动低至月$189

RackNerd 商家给的感觉就是一直蹭节日热点,然后时不时通过修改配置结构不断的提供低价年付的VPS主机,不过他们家还是在做事的,这么两年多的发展,居然已经有新增至十几个数据中心,而且产品线发展也是比较丰富。比如也有独立服务器业务,不过在他们轮番的低价年付VPS主机活动下,他们的服务器估摸着销路不是太好的。这里,今天有看到RackNerd商家的独立服务器业务有促销。这次提供美国多个机房的高配独立...

萤光云(13.25元)香港CN2 新购首月6.5折

萤光云怎么样?萤光云是一家国人云厂商,总部位于福建福州。其成立于2002年,主打高防云服务器产品,主要提供福州、北京、上海BGP和香港CN2节点。萤光云的高防云服务器自带50G防御,适合高防建站、游戏高防等业务。目前萤光云推出北京云服务器优惠活动,机房为北京BGP机房,购买北京云服务器可享受6.5折优惠+51元代金券(折扣和代金券可叠加使用)。活动期间还支持申请免费试用,需提交工单开通免费试用体验...

vpsdime7美元/月,美国达拉斯Windows VPS,2核4G/50GB SSD/2TB流量/Hyper-V虚拟化

vpsdime怎么样?vpsdime是2013年成立的国外VPS主机商,以大内存闻名业界,主营基于OpenVZ和KVM虚拟化的Linux套餐,大内存、10Gbps大带宽、大硬盘,有美国西雅图、达拉斯、新泽西、英国、荷兰机房可选。在上个月搞了一款达拉斯Linux系统VPS促销,详情查看:vpsdime夏日促销活动,美国达拉斯vps,2G内存/2核/20gSSD/1T流量,$20/年,此次推出一款Wi...

listviewitem为你推荐
中国学生网中国大学生在线邮箱怎么申请?createfile失败CreateFile失败,代码5拒绝访问(高分在线求助!!!)素数算法有能写出所有素数的公式吗pat是什么格式pat 格式的文件用什么软件打开?手机软件开发工具手机app一般用什么 软件开发shoujiao如何区分是不是颈椎病?averagesPoisson-Arrivals-See-Time-Averages是什么意思netbios协议NETBEUI协议有什么用?java程序员招聘java程序员学出来工作好不好找,工资咋样?selectintoACCESS中提示“不允许在select into语句中使用多值字段”
北京网站空间 域名估价 私服服务器租用 香港机房托管 轻博客 警告本网站 南昌服务器托管 丹弗 网通ip 我爱水煮鱼 刀片式服务器 空间技术网 电信主机 ca187 个人免费主页 登陆空间 宏讯 独立主机 杭州电信 htaccess 更多