多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > php開源 > 綜合技術 > Android――繼承SimpleAdapter重寫自己的getView

Android――繼承SimpleAdapter重寫自己的getView

來源:程序員人生   發布時間:2016-04-23 09:23:43 閱讀次數:2515次


            

               在上篇Android――ListView實現簡單列表 中,利用SimpleAdapter實現了簡單的列表綁定。在本文中,主要是通太重寫getView方法,來看下adapter內部綁定數據大致是個甚么流程。


            首先加入實現類:

       

class mTestAdapter extends SimpleAdapter { private Context context; /*運行環境*/ ArrayList<HashMap<String, String>> listItem; /*數據源*/ private LayoutInflater listContainer; // 視圖容器 class ListItemView { // 自定義控件集合 public TextView txtName; } /*construction function*/ public mTestAdapter(Context context, ArrayList<HashMap<String, String>> data, int resource, String[] from, int[] to) { super(context, data, resource, from, to); this.listContainer = LayoutInflater.from(context); // 創建視圖容器并設置上下文 this.context=context; listItem=data; } /** * @see android.widget.Adapter#getCount() */ public int getCount() { return listItem.size(); } /** * @see android.widget.Adapter#getItem(int) */ public Object getItem(int position) { return listItem.get(position); } /** * @see android.widget.Adapter#getItemId(int) */ public long getItemId(int position) { return position; } @Override public View getView(int position, View convertView, ViewGroup parent) { final int mPosition = position; ListItemView listItemView = null; if (convertView == null) { convertView = listContainer.inflate(R.layout.listview_item, null);//加載布局 listItemView = new ListItemView(); /*初始化控件容器集合*/ listItemView.txtName=(TextView) convertView .findViewById(R.id.name); // 設置控件集到convertView convertView.setTag(listItemView); }else{ listItemView=(ListItemView)convertView.getTag();//利用緩存的View } /* * PS: * 這里放入對控件的屬性及事件進行初始化設置的操作 * */ /*TextView設置點擊事件*/ listItemView.txtName.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Toast.makeText(getApplicationContext(), "點擊了"+mPosition, Toast.LENGTH_SHORT).show(); } }); //設置text的值(用position標記來看的更清楚點兒) listItemView.txtName. setText(mPosition+" "+listItem.get(mPosition).get("ItemName")); return convertView; } } }

        我們用這個實現類來取代我們之前用的SimpleAdapter.

    

mTestAdapter listItemAdapter=new mTestAdapter(getBaseContext(),/*指明了SimpleAdapter關聯的View的運行環境,也就是當前的Activity*/ listItem,/*由Map組成的List,在List中的每條目對應ListView的1行,每個Map中包括的就是所有在from參數中指定的key*/ R.layout.listview_item,/*定義列表項的布局文件的資源ID,該資源文件最少應當包括在to參數中定義的ID*/ new String[]{"ItemName"},/*將被添加到Map映照上的Key*/ new int[] {R.id.name}/*將綁定數據的視圖的Id跟from參數對應,這些被綁定的視圖元素應當全是TextView*/ ); //設置適配器

    

      以后,run下,看看我們加的toast:


       生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生

------分隔線----------------------------
分享到:
------分隔線----------------------------
為碼而活
積分:4237
15粉絲
7關注
欄目熱點
關閉
程序員人生
主站蜘蛛池模板: 在线视频网站 | 最近免费中文字幕大全高清10 | 精品免费久久 | 国产成人精品免费视频大全办公室 | 国产精品福利片 | 午夜久久久久久网站 | 国产成人一区二区 | 一级做a爱 | freeⅹxx69性欧美按摩 | 欧美黄色a级 | 欧美日本一区二区三区道 | 亚洲成人影院在线观看 | 国产精品亚洲精品一区二区三区 | xxxx69欧美hdxxxhd| 成人午夜视频在线播放 | 一级爱爱片一级毛片-一毛 一级爱一级做a性视频 | 日韩精品一区二区三区中文在线 | 秋霞午夜限制土鳖免费观看 | 福利片福利一区二区三区 | 香港aa三级久久三级不卡 | 久久福利一区二区 | 最近的中文字幕免费完整 | 欧美jizz19性欧美 | 亚洲小说春色综合另类小说 | 亚洲图片偷拍自拍 | 福利视频第一区 | 免费 黄 色 人成 视频 | 亚洲精品国产精品国自产观看 | 日本免费中文字幕 | 午夜免费视频观看在线播放 | 亚洲国产一区二区三区四区五区 | 一级坐爱 | 亚洲国产精品乱码一区二区三区 | 最近的中文字幕在线国语 | 国产精品亚洲精品一区二区三区 | 在线国产区 | 欧美视频精品在线 | 日本久久精品免视看国产成人 | 亚洲欧美国产精品 | 在线一级毛片 | 欧美另类69xxxxxhd |