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

sharktech:老牌高防服务器商,跳楼价,1G独享$70、10G共享$240、10G独享$800

不知道大家是否注意到sharktech的所有服务器的带宽价格全部跳楼跳水,降幅简直不忍直视了,还没有见过这么便宜的独立服务器。根据不同的机房,价格也是不一样的。大带宽、不限流量比较适合建站、数据备份、做下载、做流媒体、做CDN等多种业务。 官方网站:https://www.sharktech.net 付款方式:比特币、信用卡、PayPal、支付宝、西联汇款 以最贵的洛杉矶机器为例,配置表如...

NameCheap优惠活动 新注册域名38元

今天上午有网友在群里聊到是不是有新注册域名的海外域名商家的优惠活动。如果我们并非一定要在国外注册域名的话,最近年中促销期间,国内的服务商优惠力度还是比较大的,以前我们可能较多选择海外域名商家注册域名在于海外商家便宜,如今这几年国内的商家价格也不贵的。比如在前一段时间有分享到几个商家的年中活动:1、DNSPOD域名欢购活动 - 提供域名抢购活动、DNS解析折扣、SSL证书活动2、难得再次关注新网商家...

Stablehost 美国主机商黑五虚拟主机四折

如今我们网友可能较多的会选择云服务器、VPS主机,对于虚拟主机的话可能很多人不会选择。但是我们有些外贸业务用途的建站项目还是会有选择虚拟主机的。今天看到的Stablehost 商家虚拟主机在黑五期间也有四折优惠,对于这个服务商而言不是特别的喜欢,虽然他们商家和我们熟悉的老鹰主机商有些类似,且在后来老鹰主机改版和方案后,Stablehost 商家也会跟随改版,但是性价比认为不如老鹰主机。这次黑色星期...

listviewitem为你推荐
4k超高清视频下载4k电视有什么视频软件可以看4k片源比如乐视…视频托管如何把视频上传到自己公司的网站上?求解···公众号付费阅读如何申请微信付费阅读功能java程序员招聘★JAVA软件工程师工资待遇怎样防火墙技术应用常用防火墙技术有哪几种在线沟通有效沟通的六个要点flash序列号flash激活序列号是?idataparameterinvalid parameter是什么意思flex是什么这些b365m和b360m什么意思在线操作系统TOMOS在线操作系统是什么?
域名管理 enom 密码泄露 国外免费空间 linux空间 免费活动 空间首页登陆 网通服务器 qq金券 万网空间 注册阿里云邮箱 购买空间 1美元 黑科云 杭州电信宽带 阿里云邮箱怎么注册 蓝队云 免费的加速器 wannacry勒索病毒 ddos攻击工具 更多