标签:
安卓的list,spinner等组件与数据之间的关联需要有一座桥梁,也就是咱们经常说到的适配器,我们必须降数据放进适配器,才能在列表里面显示你所给出的信息,今儿就来谈谈其中一个最常用的适配器BaseAdapter,同时写这篇文章也是一个记录,便于以后复查。
重点一写 private List<Map<String, Object>> data = getData();
private List<Map<String, Object>> getData()
{
List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();
Map<String, Object> map;
for(int i=0;i<10;i++)
{
map = new HashMap<String, Object>();
map.put("img", R.drawable.ic_launcher);
map.put("first", "");
map.put("two", "we are begin");
list.add(map);
}
return list;//返回LIST对象
}
重点二写 MyAdapter adapter = new MyAdapter(this);
class MyAdapter extends BaseAdapter
{
private Context context;
public MyAdapter(Context context)//构造函数重写
{
this.context = context;
}
@Override
public int getCount() {//适配器中所代表的数据集中的条目数
return 0;
}
@Override
public Object getItem(int position) {//数据集中与指定索引对应的数据项
return null;
}
@Override
public long getItemId(int position) {//列表中与指定索引对应的行id
return 0;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {//最重要的一个重写方法,在这里完成你所想写的动作
return null;
}
/*例子
public View getView(int position, View convertView, ViewGroup parent) {
View item = mInflater.inflate(R.layout.list_item, null);
ImageView img = (ImageView)item.findViewById(R.id.img)
TextView title = (TextView)item.findViewById(R.id.title);
TextView info = (TextView)item.findViewById(R.id.info);
img.setImageResource(R.drawable.ic_launcher);
title.setText("Hello");
info.setText("world");
return item;
}
*/
}
最后一步将前几步串联加入到activity:
data = getData();
MyAdapter adapter = new MyAdapter(this);//this代表当前activity
Id(组件的id).setAdapter(adapter);
标签:
原文地址:http://www.cnblogs.com/Kyouhui/p/4641340.html