Adapter的三种类型解析

一.ArrayAdapter

   处理单一的文本信息

ListView listView=findViewById(R.id.list_view1);
String []data ={aa,bb,cc,...};
ArrayAdapter adapter=new ArrayAdapter(Content:this,R.layout.item,data);
//参数1:环境上下文this,参数2代表数据项所应用的布局,参数3数据源(数组)。
listView.setAdapter(Adapter);
//其中R.layout.item最外层用TextView包裹,因为需将data中的数据在此布局中展示出来。

二.SimpleAdapter

 

//实例化数据源data
Private List> data=new ArrayList<>();


--------------------------------------------------------------------------
//获取ListView对象
ListView listView2=findViewById(R.id.list_view2);
//实例化适配器对象
//参数1:this;
//参数2:数据源;
  initDate(); 
//参数3:每一项布局;
//参数4:from表示数据来源的key组
  String  [] from={"img","name","mood"};
//参数5:to表示数据去向的id数组
  int to={R.id.qq_img,R.id.qq_name,R.id.qq_mood};
//参数45对应索引上,from数组的元素代表数据源每个map的key,该key所指代的
//数据会作为to数组对应索引上id所代表的控件的内容显示处理。
SimpleAdapter adapter=new SimpleAdapter(this,data,R.layout.iten_3,);

//为ListView设置适配器
listView2.setAdapter(adapter);
----------------------------------------------------------------------------

public void initDate(){
Map   map1=new HashMap<>();

ma1.put(k:"img",v:"R.mipmap.houyi");
ma1.put(k:"name",v:"后羿");
ma1.put(k:"mod",v:"happy");

data.add(map1);
....
//添加多组map数据,,并添加到data中。
}

三.BaseAdapter

你可能感兴趣的:(Adapter的三种类型解析)