日本搞逼视频_黄色一级片免费在线观看_色99久久_性明星video另类hd_欧美77_综合在线视频

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

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

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


            

               在上篇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關注
欄目熱點
關閉
程序員人生
主站蜘蛛池模板: 国产视频a| 国产精品国产三级国产aⅴ9色 | 日韩精品电影在线观看 | 永久免费在线观看 | 色欧美综合 | 日本精品一区二区三区四区的功能 | 69视频在线播放 | 国产精品男女 | 欧美精品高清 | 国产青草 | 国产成人午夜视频 | 日韩在线精品 | 国产精品免费网站 | 国产精品亚洲一区 | 2019超碰 | 黄色在线免费视频 | 亚洲精品观看 | 日韩av资源 | 91在线91| 精品一区二区三区在线播放 | 欧美精品一区三区 | se69色成人网wwwsex | 99re国产精品| 国产高清无密码一区二区三区 | 偷拍自拍在线观看 | 精品九九九九九 | 亚洲v日韩v综合v精品v | 亚洲成人精品在线观看 | 99精品综合 | 精品一区二区电影 | 国产成人免费 | 欧美日本韩国一区二区三区 | 成人日韩视频 | 久久99久| 久久精选 | 毛片毛片毛片 | 自拍第二页 | 中日韩在线观看 | caopeng在线| 亚洲在线一区二区三区 | 午夜在线视频 |