Android中 自定义数据绑定适配器BaseAdapter的方法
public class personadapter extends baseadapter {
private list persons;// 要绑定的数据
private int resource;// 绑定的一个条目界面的id,此例中即为item.xml
private layoutinflater inflater;// 布局填充器,它可以使用一个xml文件生成一个view对象,可以通过context获取实例对象
public personadapter(context context, list persons, int resource) {
inflater = (layoutinflater) context.getsystemservice(context.layout_inflater_service);
this.resource = resource;
this.persons = persons;
}
@override
public int getcount() {// 得到要绑定的数据总数
return persons.size();
}
@override
public object getitem(int position) {// 给定索引值,得到索引值对应的对象
return persons.get(position);
}
@override
public long getitemid(int position) {// 获取条目id
return position;
}
// listview有缓存功能,当显示第一页页面时会创建页面对象,显示第二页时重用第一页创建好了的对象
// 取得条目界面:position代表当前条目所要绑定的数据在集合中的索引值
@override
public view getview(int position, view convertview, viewgroup parent) {
textview nameview = null;
textview phoneview = null;
textview amountview = null;
if (convertview == null) {// 显示第一页的时候convertview为空
convertview = inflater.inflate(resource, null);// 生成条目对象
nameview = (textview) convertview.findviewbyid(r.id.name);
phoneview = (textview) convertview.findviewbyid(r.id.phone);
amountview = (textview) convertview.findviewbyid(r.id.amount);
viewcache cache = new viewcache();
cache.amountview = amountview;
cache.nameview = nameview;
cache.phoneview = phoneview;
convertview.settag(cache);
} else {
viewcache cache = (viewcache) convertview.gettag();
amountview = cache.amountview;
nameview = cache.nameview;
phoneview = cache.phoneview;
}
person person = persons.get(position);
// 实现数据绑定
nameview.settext(person.getname());
phoneview.settext(person.getphone());
amountview.settext(person.getamount());
return convertview;
}
private final class viewcache {
public textview nameview;
public textview phoneview;
public textview amountview;
}
}
推荐阅读
-
Android中 自定义数据绑定适配器BaseAdapter的方法
-
Android ListView数据绑定显示的三种解决方法
-
Oracle数据库中六种TNS:协议适配器错误问题的解决方法
-
解析在Android中为TextView增加自定义HTML标签的实现方法
-
Android中DialogFragment自定义背景与宽高的方法
-
Android自定义View设定到FrameLayout布局中实现多组件显示的方法 分享
-
Android开发中自定义ProgressBar控件的方法示例
-
Android开发中Listview动态加载数据的方法示例
-
vue在自定义组件中使用v-model进行数据绑定的方法
-
Android编程实现在Activity中操作刷新另外一个Activity数据列表的方法