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 @Override 14 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 }
二.
时间: 2024-11-06 03:45:54