亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

ListView的各種適配器

發布時間:2020-07-18 06:22:10 來源:網絡 閱讀:884 作者:xiaoyusong 欄目:開發技術

  學習至今,發現ListView有好幾種適配器,用法不同,各有優缺點,在此做個小總結:

1、BaseAdapter(基本適配器)

  其缺點是用法比較復雜一些,但是因為不受其他限制,所以被廣泛應用。

  用法:

   a、創建一個類繼承BaseAdapter,重寫它的四個方法。四個方法中,有兩個方法很少用到,必    須用到的是getView()和getCount()方法,前者返回listview的布局對象,后者則返回listview的行數。

   b、new出這個類的對象,并對listview進行設置適配器。

   c、需要注意的是,當對listview中的數據進行更改時,一定不能忘記調用   notifyDataSetChanged()方法來更新設配器。

   d、對代碼進行優化,常用的優化有兩個,一是行布局復用,二是對行布局中的空間進行封裝,如下圖:ListView的各種適配器


2、CursorAdapter(游標適配器)

  當ListView中所需數據是存于數據庫時,可選用此適配器,用法相對比BaseAdapter簡單。

  用法:

   a、創建一個類繼承CursorAdapter,創建一個有參構造方法和重寫兩個方法newView()和 bindView(),前者創建并返回一個行布局對象,后者對行布局進行更新,如下圖:

ListView的各種適配器

   b、new出該類的對象,需要兩個參數——上下文和游標對象。游標由數據庫對象調用query()得到。

   c、對listview設置適配器。

   d、需要注意的是,當listview中數據有更新時,在調用notifyDataSetChanged()方法來通知適配器之前,要先調用changeCursor()改變游標對象。

3、SimpleCursorAdapter(簡單游標適配器)

4、SimpleAdapter(簡單適配器)

  簡單適配器所對應的listview里面只能放以下這些控件:textview、p_w_picpathview、 繼承了CompoundButton的控件。

  例子:

    ArrayList<HashMap<String, String>> data = new ArrayList<HashMap<String,String>>();

    for (int i = 0; i < 50; i++) {

       HashMap<String, String> hasDate = new HashMap<String, String>();

       hasDate.put("name", "小麗"+i);

       hasDate.put("age", "23");

       data.add(hasDate);

    }

    String[] from = new String[]{"name","age"};

    int[] to = new int[]{R.id.textView1,R.id.textView2};

    SimpleAdapter adapter = new SimpleAdapter(this, data , R.layout.item_list, from,

                                                to);

    listView.setAdapter(adapter);  

 

5、ArrayAdapter

  例; listView.setAdapter(new ArrayAdapter<String>

                 (this,android.R.layout.simple_list_item_1, strList));

       第二個參數是作為listview的行布局,第三個參數strList是一個字符串數組,作為listview的數據來源。


6、比較特殊的一種是當activity繼承的不是Activity,而是ListActivity時,這個activity的默認布局就是listview,這時只要直接調用以下方法即可:

    setListAdapter(new ArrayAdapter<String>(this,

                      android.R.layout.simple_list_item_1, strList));



向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

盱眙县| 闸北区| 余江县| 无极县| 屯门区| 霍州市| 吴忠市| 潜江市| 和田市| 阜阳市| 蒙自县| 绥芬河市| 丹寨县| 禹州市| 湘西| 吕梁市| 安达市| 晋江市| 自贡市| 嘉义市| 尉犁县| 西乌| 谢通门县| 石家庄市| 东丽区| 石楼县| 平山县| 永宁县| 寻甸| 汉寿县| 上高县| 武夷山市| 霍林郭勒市| 土默特右旗| 湘西| 华池县| 蒙城县| 陆良县| 沭阳县| 平武县| 东乌珠穆沁旗|