Adapter类使用方法

一、SimpleAdapter类使用方法

SimpleAdapter的构造函数是:

public SimpleAdapter (Context context, List<? extends Map<String, ?>> data, int resource, String[] from, int[] to)

官方说明了其各个参数含义,我这里根据自己的理解解释下:

第一个context,很明显大家根据英文可以知道是上下文的意思,它官方的意思是:SimpleAdapter所要运行关联到的视图,这个是什么呢?就是你这个SimpleAdapter所在的Activity(一般而言),所以这个参数一般是Activity的名字.this”

 

第二个是一个泛型只要是一个List就行,这一般会想到是ArrayList,而他内部存储的则是Map或者继承自Map的对象,比如HashMap,这些语法都是Java的基本语法,不再详述了!这里呢是作为数据源,而且每一个ArraList中的一行就代表着呈现出来的一行,Map的键就是这一行的列名,值也是有列名的。

 

第三个资源文件,就是说要加载这个两列所需要的视图资源文件,一般在Layout建立相应的.xml文件,你可以左边一个TextView右边一个TextView,目的在于呈现左右两列的值!

 

第四个参数是一个String数组,主要是将Map对象中的名称映射到列名,一一对应

 

第五个是将第四个参数的值一一对象的显示(一一对应)在接下来的int形的id数组中,这个id数组就是LayOutxml文件中命名id形成的唯一的int型标识符

比如下面这个实例:

http://my.csdn.net/uploads/201208/27/1346056309_4643.jpg

二、ArrayAdapter类使用方法

public ArrayAdapter (Context context, int resource,int textViewResourceId, T[] objects)

 

package com.test;

import java.util.ArrayList;
import java.util.HashMap;

import android.app.Activity;
import android.os.Bundle;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.SimpleAdapter;

public class ListViewTest extends Activity {
    /** Called when the activity is first created. */
 ListView listview = null;
 ArrayAdapter adapter = null;
 ArrayList<String> list1 = new ArrayList<String>();
 @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        listview = (ListView)findViewById(R.id.listview);
        
        list1.add("pfg");
        list1.add("124");
        list1.add("234");
        list1.add("456");
        list1.add("567");
       
adapter = new ArrayAdapter(this,R.layout.view,R.id.textview1,list1); 

        listview.setAdapter(adapter);
    }
}

 

 

 

 

 

猜你喜欢

转载自blog.csdn.net/sunxinghua08/article/details/84522168