首页 > 代码库 > Android学习之适配器Adapter

Android学习之适配器Adapter

        Adapter是个什么角色呢?其实它的作用就是View界面和数据之间的桥梁。我们可以看作是界面数据绑定的一种理解,它所操纵的数据一般都是一些比较复杂的数据,如数组,链表,数据库,集合等。

常用的适配器有:

(1)ArrayAdapter;             数组作为数据源,填充的是ArrayAdapter   

(2)SimpleAdapter;           List作为数据源,填充的是SimpleAdapter

(3)SimpleCursorAdapter; 数据来源一般都是数据库查询得到的Cursor

(4)自定义适配器;               为什么要定义自己的适配器呢?原因就在于,当我们想用一些其它的展现方式,或者是我们需要的,呈现方式,这是就得DIY了。首先我们定义一个类让它继承自BaseAdapter,再让它实现一里面所说的那几个方法。那么这个自定义适配器就算好了。

下面我们看个实例就明白了:

一 .ArrayAdapter

1.xml代码:

 1 <?xml version="1.0" encoding="utf-8"?> 2 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 3     android:layout_width="match_parent" 4     android:layout_height="fill_parent" 5     android:orientation="vertical" > 6  7     <ListView 8         android:id="@+id/myArrayList" 9         android:layout_width="match_parent"10         android:layout_height="wrap_content" />11 12 </LinearLayout>

2.java代码:

 1 package com.example.arrayadapter; 2  3 import java.util.ArrayList; 4 import android.app.Activity; 5 import android.os.Bundle; 6 import android.widget.ArrayAdapter; 7 import android.widget.ListView; 8  9 public class MainActivity extends Activity {10     private ListView mListView;11     private ArrayList<String> mArrayList = null;12 13     @Override14     protected void onCreate(Bundle savedInstanceState) {15         super.onCreate(savedInstanceState);16         setContentView(R.layout.activity_main);17         mListView = (ListView) findViewById(R.id.myArrayList);18         mListView.setAdapter(new ArrayAdapter<String>(this,19                 android.R.layout.simple_expandable_list_item_1, getData()));20     }21 22     private ArrayList<String> getData() {23         mArrayList = new ArrayList<String>();24         mArrayList.add("item1");25         mArrayList.add("item2");26         mArrayList.add("item3");27         mArrayList.add("item4");28         mArrayList.add("item5");29         mArrayList.add("item6");30         mArrayList.add("item7");31         mArrayList.add("item8");32         mArrayList.add("item9");33         mArrayList.add("item10");34         return mArrayList;35     }36 }

二.

 

Android学习之适配器Adapter