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

歡迎訪問 生活随笔!

生活随笔

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

Android

【Android】Android适配器之ArrayAdapter、SimpleAdapter和BaseAdapter的简单用法

發布時間:2024/4/20 Android 46 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【Android】Android适配器之ArrayAdapter、SimpleAdapter和BaseAdapter的简单用法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Android適配器之ArrayAdapter、SimpleAdapter和BaseAdapter的簡單用法與有用代碼片段




ArrayAdapter、SimpleAdapter和BaseAdapter的一些簡短代碼片段,希望用時方便想起其用法。

原文來源:http://blog.csdn.net/shakespeare001/article/details/7926783

1.ArrayAdapter


只可以簡單的顯示一行文本

代碼片段:

[java]?view plaincopy
  • ArrayAdapter<String>?adapter?=?new?ArrayAdapter<String>(??
  • ????????????????this,??
  • ????????????????R.layout.item,//只能有一個定義了id的TextView??
  • ????????????????data);//data既可以是數組,也可以是List集合??


  • 2.SimpleAdapter


    可以顯示比較復雜的列表,包括每行顯示圖片、文字等,但不能對列表進行后期加工(在java代碼中加工),
    也是只是單純的負責顯示(當然可以設計復雜點的布局來顯示復雜列表),例如,每行顯示不同背景等。

    代碼片段:

    [java]?view plaincopy
  • List<Map<String,Object>>?mData=?new?ArrayList<Map<String,Object>>();;??
  • for(int?i?=0;?i?<?lengh;?i++)?{??????
  • ????Map<String,Object>?item?=?new?HashMap<String,Object>();??????
  • ????item.put("image",?R.drawable.portrait);??????
  • ????item.put("title",?mListTitle[i]);??????
  • ????item.put("text",?mListStr[i]);??????
  • ????mData.add(item);???????
  • }??????
  • SimpleAdapter?adapter?=?new?SimpleAdapter(??
  • ????????????????this,??
  • ????????????????mData,??
  • ????????????????R.layout.item,??????
  • ????????????????new?String[]{"image","title","text"},??
  • ????????????????new?int[]{R.id.image,R.id.title,R.id.text});?????

  • 3.BaseAdapter


    可以實現復雜的列表布局,由于BaseAdapter是一個抽象類,使用該類需要自己寫一個適配器繼承該類,
    正是由于繼承了該類,需要我們重寫一些方法,讓我們可以在代碼里控制列表的樣式,更加靈活。

    代碼片段:

    [java]?view plaincopy
  • private?class?MyListAdapter?extends?BaseAdapter{????
  • ????????private?Context?mContext;????
  • ????????private?int[]?colors=new?int[]{0xff626569,0xff4f5257?};????
  • ?????????public?MyListAdapter(Context?context){????
  • ?????????????mContext=context;????
  • ?????????}????
  • ????????@Override????
  • ????????public?int?getCount()?{????
  • ????????????//?TODO?Auto-generated?method?stub????
  • ????????????return?mListText.length;????
  • ????????}????
  • ????
  • ????????@Override????
  • ????????public?Object?getItem(int?position)?{????
  • ????????????//?TODO?Auto-generated?method?stub????
  • ????????????return?position;????
  • ????????}????
  • ????
  • ????????@Override????
  • ????????public?long?getItemId(int?position)?{????
  • ????????????//?TODO?Auto-generated?method?stub????
  • ????????????return?position;????
  • ????????}????
  • ????
  • ????????@Override????
  • ????????public?View?getView(int?position,?View?convertView,?ViewGroup?parent)?{????
  • ????????????ImageView?image=null;??//這些控件可以單獨封裝成一個類(Holder),便與優化??
  • ????????????TextView?title=null;????
  • ????????????TextView??content=null;????
  • ????????????if(convertView==null){????
  • ????????????????convertView=LayoutInflater.from(mContext).inflate(R.layout.colorlist,?null);????
  • ????????????????image=(ImageView)?convertView.findViewById(R.id.color_image);????
  • ????????????????title=(TextView)?convertView.findViewById(R.id.color_title);????
  • ????????????????content=(TextView)?convertView.findViewById(R.id.color_text);????
  • ????????????}???
  • ????????????int?colorPos=position%colors.length;????
  • ????????????convertView.setBackgroundColor(colors[colorPos]);????
  • ????????????title.setText(mListTitle[position]);????
  • ????????????content.setText(mListText[position]);????
  • ????????????image.setImageResource(R.drawable.portrait);????
  • ????????????????
  • ????????????return?convertView;????
  • ????????}????
  • ????????????
  • ????}????
  • ??
  • --------------------------下面樣例列表頁的控件單獨封裝成了一個類(Holder),便與優化-----??
  • ??
  • ??
  • ?public?class?MyBaseAdapter?extends?BaseAdapter{??
  • ???????
  • ???????????private?LayoutInflater?mInflater;??
  • ????????????public?MyAdapter(Context?context){??
  • ???????????????this.mInflater?=?LayoutInflater.from(context);??
  • ??????????}??
  • ????????????@Override??
  • ???????????public?int?getCount()?{??
  • ????????????????//?TODO?Auto-generated?method?stub??
  • ????????????????return?mData.size();??
  • ????????????}??
  • ???????
  • ????????????@Override??
  • ????????????public?Object?getItem(int?arg0)?{??
  • ????????????????//?TODO?Auto-generated?method?stub??
  • ????????????????return?null;??
  • ???????????}??
  • ???????
  • ????????????@Override??
  • ????????????public?long?getItemId(int?arg0)?{??
  • ????????????????//?TODO?Auto-generated?method?stub??
  • ????????????????return?0;??
  • ????????????}??
  • ???????
  • ????????????@Override??
  • ????????????public?View?getView(int?position,?View?convertView,?ViewGroup?parent)?{??
  • ???????????????????
  • ????????????????ViewHolder?holder?=?null;??
  • ????????????????if?(convertView?==?null)?{??
  • ????????????????????holder=new?ViewHolder();???
  • ????????????????????convertView?=?mInflater.inflate(R.layout.vlist2,?null);??
  • ????????????????????holder.img?=?(ImageView)convertView.findViewById(R.id.img);??
  • ????????????????????holder.title?=?(TextView)convertView.findViewById(R.id.title);??
  • ????????????????????holder.info?=?(TextView)convertView.findViewById(R.id.info);??
  • ????????????????????holder.viewBtn?=?(Button)convertView.findViewById(R.id.view_btn);??
  • ????????????????????convertView.setTag(holder);??
  • ???????????????????????
  • ????????????????}else?{???????????????????????
  • ????????????????????holder?=?(ViewHolder)convertView.getTag();??
  • ????????????????}??
  • ????????????????holder.img.setBackgroundResource((Integer)mData.get(position).get("img"));??
  • ????????????????holder.title.setText((String)mData.get(position).get("title"));??
  • ????????????????holder.info.setText((String)mData.get(position).get("info"));??
  • ????????????????//給每一個列表后面的按鈕添加響應事件??
  • ????????????????holder.viewBtn.setOnClickListener(new?View.OnClickListener()?{??
  • ????????????????????@Override??
  • ????????????????????public?void?onClick(View?v)?{??
  • ????????????????????????showInfo();??????????????????
  • ????????????????????}??
  • ????????????????});??
  • ??
  • ????????????????return?convertView;??
  • ????????????}??
  • ????????------------??
  • ????????public?final?class?ViewHolder{??
  • ????????????public?ImageView?img;??
  • ????????????public?TextView?title;??
  • ????????????public?TextView?info;??
  • ????????????public?Button?viewBtn;??
  • ????????}??




  • 總結

    以上是生活随笔為你收集整理的【Android】Android适配器之ArrayAdapter、SimpleAdapter和BaseAdapter的简单用法的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

    主站蜘蛛池模板: 日韩r级电影在线观看 | 久久精品天堂 | 亚洲综合一区在线观看 | 91麻豆精品国产91久久久久久久久 | av天天看 | 欧美wwwwww | 懂色av蜜臀av粉嫩av分享吧 | 黄色aa大片 | 伊人久久久久久久久久久久 | 日产av在线播放 | jizz免费 | 凹凸精品熟女在线观看 | 中文字幕二 | 神马电影久久 | 欧美精品国产 | 天天操天天操天天干 | 手机在线永久免费观看av片 | 午夜国产福利在线 | 色噜噜狠狠一区二区三区果冻 | 久久99精品久久久久久噜噜 | 国产精品一区二三区 | 国产香蕉视频在线观看 | 亚洲一二三级 | √资源天堂中文在线视频 | 九色影视| 欧美成人做爰大片免费看黄石 | 麻豆视屏| 麻豆射区 | 国产成人在线观看 | 亚洲性事| 国产夫妻露脸 | 国产草草视频 | free性欧美hd精品4k | 黄色在线播放网站 | 国产成人精品综合久久久久99 | 亚洲一区二区三区国产 | 少妇媚药按摩中文字幕 | 成人一区二 | 冲田杏梨 在线 | 18黄暴禁片在线观看 | 亚洲四区 | 亚洲国产成人精品久久久 | 国产精品久久777777 | 男女猛烈无遮挡 | 国产精品一区二区av | 97人人在线| 国产精品系列在线播放 | 一区精品视频在线观看 | 天天干天天拍 | www.久久网| www.操操操| 午夜久久久久久久久久影院 | 一级性视频 | 亚洲一区二区成人 | 久久综合激的五月天 | 国产亚洲精久久久久久无码77777 | 久久午夜无码鲁丝片午夜精品 | 成人啪啪18免费游戏链接 | 99久久综合网 | 奇米影音| 国产精品久久久久久亚洲毛片 | aa爱做片免费 | 动漫涩涩免费网站在线看 | 91av福利 | 色综合狠狠操 | 色xxxxxx | 国产日韩一区二区在线 | wwwxxx日本免费 | 国产在线播放一区二区三区 | 精品国产乱码 | 无码一区二区三区免费视频 | 亚洲视频自拍 | 韩国妻子的朋友 | 强行糟蹋人妻hd中文 | av女优一区 | 午夜合集| 成人做爰黄| 亚洲av无码一区二区乱孑伦as | 男人与雌性宠物交啪啪 | 久久桃花网 | av午夜精品 | 日本成人精品 | 亚洲欧美精品午睡沙发 | v8888av| 国产私人影院 | 男女拍拍拍网站 | 久久bb| 日本免费一区视频 | 欧美在线观看一区 | 午夜福利一区二区三区 | 夜夜操导航 | 肉色超薄丝袜脚交一区二区图片 | 国产精品国产三级国产专播品爱网 | 天堂网成人 | 黄网免费视频 | 国产精品高潮视频 | 影音先锋久久久久av综合网成人 | 极品另类 | av天堂一区二区 |