ListView是Android中经常会使用的东西,绑定数据对于初学者来说,尤其是刚接触编程的人来说,往往会觉得很难理解,我上大二的时候学的java,但是基本上相当于没有学,什么都没写过,真正接触编程就是开始上手学android,把这些记录下来,自己可以回头看下,也可以让新手更好的理解。高手绕过....

Android中Adapter我是这么理解的,是数据和视图之间的桥梁,数据在adapter中做处理,然后显示到视图上面。

Adapter有很多种,有ArrayAdapter<T>,BaseAdapter,CursorAdapter,HeaderViewListAdapter,ListAdapter,ResourceCursorAdapter,SimpleAdapter,SimpleCursorAdapter,SpinnerAdapter,WrapperListAdapter.

我在项目中用到过的就ArrayAdapter<T>, (数组也可以是对象数组),BaseAdapter(所有Adapter的基类),SimpleAdapter,CursorAdapter(数据来源是cursor),SimpleCursorAdapter,感觉有必要总结一下。

最基本的要数sdk官网上面给的这个代码例子了http://developer.android.com/resources/tutorials/views/hello-listview.html。

我自己写的一个例子,先上图,再贴上代码:

ListView的Adapter使用 之 初学ArrayAdapter<String>_第1张图片

        
  1. packagecom.cz.list.demo;
  2. importandroid.app.Activity;
  3. importandroid.os.Bundle;
  4. importandroid.widget.ArrayAdapter;
  5. importandroid.widget.ListView;
  6. publicclassArrayListDemoextendsActivity{
  7. privateListViewlistView;
  8. privateString[]adapterData;
  9. /**Calledwhentheactivityisfirstcreated.*/
  10. @Override
  11. publicvoidonCreate(BundlesavedInstanceState){
  12. super.onCreate(savedInstanceState);
  13. setContentView(R.layout.array_list_layout);
  14. /*找到这个listView*/
  15. listView=(ListView)findViewById(R.id.array_list);
  16. /*我们要在listView上面没条显示的数据,放到一个数组中*/
  17. adapterData=newString[]{"Afghanistan","Albania","Algeria",
  18. "AmericanSamoa","Andorra","Angola","Anguilla",
  19. "Antarctica","AntiguaandBarbuda","Argentina","Armenia",
  20. "Aruba","Australia","Austria","Azerbaijan","Bahrain",
  21. "Bangladesh","Barbados","Belarus","Belgium","Belize",
  22. "Benin","Bermuda","Bhutan","Bolivia",
  23. "BosniaandHerzegovina","Botswana","BouvetIsland"};
  24. /*这个是数组string类型的数组*/
  25. //ArrayAdapter<String>arrayAdapter=newArrayAdapter<String>(
  26. //ArrayListDemo.this,android.R.layout.simple_list_item_1,
  27. //adapterData);
  28. /*设置ListView的Adapter*/
  29. listView.setAdapter(newArrayAdapter<String>(ArrayListDemo.this,
  30. android.R.layout.simple_list_item_1,adapterData));
  31. }
  32. }

代码中写的有注释,我觉得要解释的有几点,都是很基础的,高手就见笑了.

1. 适配器的作用是数据和视图之间的桥梁

2. 这个小例子是要显示一个数组,我们就用ArrayAdapter,数组适配器,数据的数据类型<>是String类型的,数据的数据类型还可以是其他的包括对象类型的

3. ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String>(
ArrayListDemo.this, android.R.layout.simple_list_item_1,
adapterData);

这段代码是创建一个数组适配器的代码,里面有三个参数,第一个参数是上下文,就是当前的Activity, 第二个参数是android sdk中自己内置的一个布局,它里面只有一个TextView,这个参数是表明我们数组中每一条数据的布局是这个view,就是将每一条数据都显示在这个view上面;第三个参数就是我们要显示的数据。listView会根据这三个参数,遍历adapterData里面的每一条数据,读出一条,显示到第二个参数对应的布局中,这样就形成了我们看到的listView.

更多相关文章

  1. android 使用https请求请求数据
  2. android实现wifi与移动数据的切换
  3. Android 将少量的数据文件保存在 data/data 目录下
  4. 解决eclipse中android添加重载函数时参数为arg0,arg1的问题
  5. Android上使用OpenGLES2.0显示YUV数据
  6. Android客户端与PHP服务端的数据交互
  7. android客户端和网站数据交互的实现(基于Http协议获取数据方法)
  8. 警惕rapidxml的陷阱(二):在Android上默认内存池分配数组过大,容易导

随机推荐

  1. 安卓第一行代码总结(一)
  2. Android中px与dip,sp与dip等的转换工具类
  3. android每日一问1【2011-09-08】
  4. Android登录界面的实现
  5. APK安装过程及原理详解
  6. android Fragments详解一:概述
  7. Android(安卓)蓝牙4.0详细
  8. android 将RecyclerView当成ViewPager用
  9. Android(安卓)Adapter适配器
  10. android实现emoji输入