日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

Android ListView存在多个item样式的处理方法

發(fā)布時間:2025/7/14 Android 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Android ListView存在多个item样式的处理方法 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

? ? ? 在項目開發(fā)的時候,相信大家可能會遇到一個ListView中出現(xiàn)多個不同的布局,遇到這個問題我的大致思路就是創(chuàng)建多個viewholder,在getViewType的時候設(shè)置不同位置的item用不同的viewholder,好了不廢話那么多直接上代碼:

package?com.sunny.youdao;import?java.util.ArrayList; import?java.util.List;import?android.content.Context; import?android.util.Log; import?android.view.LayoutInflater; import?android.view.View; import?android.view.ViewGroup; import?android.widget.BaseAdapter; import?android.widget.CheckBox; import?android.widget.ImageView; import?android.widget.LinearLayout; import?android.widget.TextView;public?class?MyAdapter?extends?BaseAdapter?{private?Context?mContext;private?LinearLayout?linearLayout?=?null;private?LayoutInflater?inflater;private?List<String>?list?=?new?ArrayList<String>();private?TextView?tex;private?final?int?VIEW_TYPE?=?3;private?final?int?TYPE_1?=?0;private?final?int?TYPE_2?=?1;private?final?int?TYPE_3?=?2;public?MyAdapter(Context?context,?List<String>?list)?{//?TODO?Auto-generated?constructor?stubthis.mContext?=?context;this.list?=?list;inflater?=?LayoutInflater.from(mContext);}@Overridepublic?int?getCount()?{//?TODO?自動生成的方法存根return?list.size();}@Overridepublic?Object?getItem(int?position)?{//?TODO?自動生成的方法存根return?list.get(position);}@Overridepublic?long?getItemId(int?position)?{//?TODO?自動生成的方法存根return?position;}//每個convert?view都會調(diào)用此方法,獲得當前所需要的view樣式@Overridepublic?int?getItemViewType(int?position)?{//?TODO?Auto-generated?method?stubint?viewtype?=?position%6;if(viewtype?==?0)return?TYPE_1;else?if(viewtype?<?3)return?TYPE_2;else?if(viewtype?<?6)return?TYPE_3;elsereturn?TYPE_1;}//返回樣式的數(shù)量@Overridepublic?int?getViewTypeCount()?{//?TODO?Auto-generated?method?stubreturn?3;}@Overridepublic?View?getView(int?position,?View?convertView,?ViewGroup?parent)?{viewHolder1?holder1?=?null;viewHolder2?holder2?=?null;viewHolder3?holder3?=?null;int?type?=?getItemViewType(position);//?無convertView,需要new出各個控件if?(convertView?==?null)?{Log.e("convertView?=?",?"###convertView為空###");//?按當前所需的樣式,確定new的布局switch?(type)?{case?TYPE_1:convertView?=?inflater.inflate(R.layout.listitem1,?parent,false);holder1?=?new?viewHolder1();holder1.textView?=?(TextView)?convertView.findViewById(R.id.textview1);holder1.checkBox?=?(CheckBox)?convertView.findViewById(R.id.checkbox);Log.e("convertView?=?",?"布局樣式一");convertView.setTag(holder1);break;case?TYPE_2:convertView?=?inflater.inflate(R.layout.listitem2,?parent,false);holder2?=?new?viewHolder2();holder2.textView?=?(TextView)?convertView.findViewById(R.id.textview2);Log.e("convertView?=?",?"布局樣式二");convertView.setTag(holder2);break;case?TYPE_3:convertView?=?inflater.inflate(R.layout.listitem3,?parent,false);holder3?=?new?viewHolder3();holder3.textView?=?(TextView)?convertView.findViewById(R.id.textview3);holder3.p_w_picpathView?=?(ImageView)?convertView.findViewById(R.id.p_w_picpathview);Log.e("convertView?=?",?"布局樣式三");convertView.setTag(holder3);break;}}?else?{//?有convertView,按樣式,取得不用的布局switch?(type)?{case?TYPE_1:holder1?=?(viewHolder1)?convertView.getTag();Log.e("convertView=?",?"布局樣式一");break;case?TYPE_2:holder2?=?(viewHolder2)?convertView.getTag();Log.e("convertView=?",?"布局樣式二");break;case?TYPE_3:holder3?=?(viewHolder3)?convertView.getTag();Log.e("convertView=?",?"布局樣式三");break;}}//?設(shè)置資源switch?(type)?{case?TYPE_1:holder1.textView.setText(Integer.toString(position));holder1.checkBox.setChecked(true);break;case?TYPE_2:holder2.textView.setText(Integer.toString(position));break;case?TYPE_3:holder3.textView.setText(Integer.toString(position));holder3.p_w_picpathView.setBackgroundResource(R.drawable.icon);break;}return?convertView;}//?各個布局的控件資源class?viewHolder1?{CheckBox?checkBox;TextView?textView;}class?viewHolder2?{TextView?textView;}class?viewHolder3?{ImageView?p_w_picpathView;TextView?textView;}}

? ? 代碼比較直觀明了,注釋也比較詳細,就不在詳細說明了,歡迎大家一塊學(xué)習(xí)交流~

轉(zhuǎn)載于:https://blog.51cto.com/sunnygeek/1671245

總結(jié)

以上是生活随笔為你收集整理的Android ListView存在多个item样式的处理方法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 美女av在线免费观看 | 成人毛片一级 | 日韩不卡毛片 | 91精品在线观看入口 | 国产农村妇女精品久久久 | 黄色av网站免费 | 久久亚洲精品小早川怜子 | 天天久久久 | heyzo北岛玲在线播放 | 久久免费看视频 | 国产精品国产馆在线真实露脸 | 69日本xxxxxxxx96| 久久久香蕉视频 | www.国产在线 | 国产精品一区二区三区线羞羞网站 | 国产精品国产三级国产aⅴ浪潮 | 少妇无套高潮一二三区 | 能直接看的av网站 | 色婷婷综合久久 | 久久99日韩 | 一区二区三区国产精品视频 | 在线不卡的av | 懂色tv| 免费av一级片 | 免费日皮视频 | 亚洲色图国产 | 东京热毛片 | 亚洲无吗av | 深夜视频一区二区三区 | 无码人妻精品一区二区三区99v | 国产chinese中国hdxxxx | 亚洲av无码专区在线 | 久久精品在这里 | 福利视频在线免费观看 | 人人看人人插 | 免费播放黄色片 | 99re6热在线精品视频播放 | 天天操操 | 亚洲国产中文字幕在线观看 | 中文字幕一区二区三区乱码 | 激情婷 | www.-级毛片线天内射视视 | 欧美午夜一区二区 | 国产精品91在线 | 国产又粗又猛又色 | 国产成人精品一区二区三区在线观看 | 深夜福利视频导航 | 亚洲精品无码久久久久久久 | 巨大胸大乳奶电影 | 免费暧暧视频 | 欧美性猛交xxxx乱大交退制版 | 国内精品久久久久久久久 | 国产无码精品在线播放 | 超碰v | 宅男的天堂 | 无码熟妇αⅴ人妻又粗又大 | 国产吞精囗交免费视频 | 亚洲黄色天堂 | 91精品91久久久中77777老牛 | 久久五月激情 | 欧美日韩精品一区二区三区 | 少妇献身老头系列 | 白浆一区| 日韩一区电影 | 在线亚洲天堂 | 中文一区二区在线播放 | 国产成人精品午夜福利Av免费 | 91豆花视频 | 久免费一级suv好看的国产 | 免费网站www在线观看 | 四虎色网 | 国产51自产区 | 国产美女网站 | 少妇99| 国内自拍在线观看 | 日本一区二区高清不卡 | 国产全肉乱妇杂乱视频 | 性感美女一区二区三区 | 99在线观看 | 欧美国产日本在线 | 亚洲第三区 | 亚洲无卡视频 | 狠狠操一区| av观看在线免费 | 黄色一级视频免费 | 日本污视频在线观看 | 123成人网| 日本人の夫妇交换 | 青草青草久热 | 99久久久久成人国产免费 | 精品一区二区三区四区视频 | 一区二区日韩国产 | 久久综合伊人77777麻豆最新章节 | 91免费网站 | 男人日女人网站 | 免费一级黄色大片 | 国产3级在线 | 欧美日韩综合视频 | 欧洲亚洲天堂 |