ListView的各种适配器-创新互联

学习至今,发现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> data = new ArrayList>();

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

    HashMap hasDate = new HashMap();

    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

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

    第二个参数是作为listview的行布局,第三个参数strList是一个字符串数组,作为listview的数据来源。

6、比较特殊的一种是当activity继承的不是Activity,而是ListActivity时,这个activity的默认布局就是listview,这时只要直接调用以下方法即可:

  setListAdapter(new ArrayAdapter(this,

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

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


文章题目:ListView的各种适配器-创新互联
本文URL:http://azwzsj.com/article/dipcpd.html