【Android杂谈】关于Adapter的理解

来源:互联网 发布:超级玛丽java代码 编辑:程序博客网 时间:2024/05/20 00:50

在开发过程中,数据适配器需要多种多样,以便应对各种各样的开发需求。

而在安卓开发中,我们需要了解并熟悉应用以下Adapter:

1.ArrayAdapter

   对于ArrayAdapter,并不复杂,往往只用于适配文字。在一个简单listview 中常常会用到

   例如:

    

  1. private ArrayList<String> getData() {  
  2.         mArrayList.add("数据1");  
  3.         mArrayList.add("数据2");  
  4.         return mArrayList;  
  5.     }  

2.SimpleAdapter
相比前者,SimpleAdapter则有很强的扩展性,而其强在于它可以做很多“修饰”,做出很多自定义效果。
例如以下例子:
  1. private ListView mListView;  
  2.     private SimpleAdapter mAdapter;  
  3.     private List<HashMap<String, Object>> mHashMaps;  
  4.     private HashMap<String, Object> map;  
  5.       
  6.     @Override  
  7.     protected void onCreate(Bundle savedInstanceState) {  
  8.         super.onCreate(savedInstanceState);  
  9.         setContentView(R.layout.testsimpleadapter);  
  10.         mListView = (ListView) findViewById(R.id.mySimpleList);  
  11.         mAdapter = new SimpleAdapter(this, getData(), R.layout.simpleitem, new String[]{"image""title""info"}, new int[]{R.id.img, R.id.title, R.id.info});  
  12.         mListView.setAdapter(mAdapter);  
  13.     }  
  14.       
  15.     private List<HashMap<String, Object>> getData() {  
  16.         mHashMaps = new ArrayList<HashMap<String,Object>>();  
  17.         map = new HashMap<String, Object>();  
  18.         map.put("image", R.drawable.gallery_photo_1);  
  19.         map.put("title""G1");  
  20.         map.put("info""google 1");  
  21.         mHashMaps.add(map);  
  22.           
  23.         map = new HashMap<String, Object>();  
  24.         map.put("image", R.drawable.gallery_photo_2);  
  25.         map.put("title""G2");  
  26.         map.put("info""google 2");  
  27.         mHashMaps.add(map);  
  28.           
  29.         map = new HashMap<String, Object>();  
  30.         map.put("image", R.drawable.gallery_photo_3);  
  31.         map.put("title""G3");  
  32.         map.put("info""google 3");  
  33.           
  34.         mHashMaps.add(map);  
  35.         return mHashMaps;  
  36.     }  
其中R.layout.simpleitem就是自定义的布局效果,
SimpleAdapter就针对layout 文件的布局结构,整合相应的数据模型,也就是数据的适配,进而达到“修饰”效果

1 0
原创粉丝点击