标签:
1、在学习Listview时候用到了Adapter适配器,定义MyAdapter时候需要继承ListAdapter接口,接口里很多方法没有实现,为了方便google工程师实现了个BaseAdapter类,我们在使用的时候可以继承这个抽象类,因此我们只需要完成几个抽象方法就可以了。
public class Db_adapter extends BaseAdapter {
private Context context;
private List<Person> personlist;
public Db_adapter(Context context,List<Person> personlist)
{
this.context=context;
this.personlist=personlist;
}
public void setPersonlist(List<Person> personlist)
{
this.personlist=personlist;
}
@Override
public int getCount() {
// TODO Auto-generated method stub
return personlist.size();
}
@Override
public Object getItem(int position) {
// TODO Auto-generated method stub
return null;
}
@Override
public long getItemId(int position) {
// TODO Auto-generated method stub
return 0;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
// TODO Auto-generated method stub
TextView text=new TextView(context);
text.setText(personlist.get(position).getName());
// TextView text2=new TextView(context);
// text2.setText(personlist.get(position).getMoney()+"");
return text;
// return null;
}
}
2、其中最关键的是完成getView()方法,getView方法调用的次数不是getcount方法的返回值,当listView里的条目太多时候,这里android虚拟机会自动计算ListView控件的高端h1,然后计算出TextView的高度h2,因此一开始就会调用h1/h2次getview()方法,当我们上下拖动时候,出现我们先看不到的条目时候就调用getview(),即使先前出现了的条目在下拖过程中不见,然后回托时候又出现时候仍会调用getview()方法。
android学习笔记之ListView 和Adapter适配器
标签:
原文地址:http://www.cnblogs.com/bokeofzp/p/4658703.html