关于Adaper的相关用法
使用BaseAdapter的话需要重载四个方法:
getCount
getItem
getItemId
getView
getView是用来刷新它所在的ListView的。在每一次item从屏幕外滑进屏幕内的时候,或程序刚开始的时候创建第一屏item的时候。
public abstract View getView (int position, View convertView, ViewGroup parent)
position是指当前dataset的位置,通过getCount和getItem来使用。如果list向下滑动的话那么就是最低端的item的位置,如果是向上滑动的话那就是最上端的item的位置。conert是指可以重用的视图,即刚刚出队的视图。parent应该就是list。
在使用BaseAdapter时一般有如下定义:
public class MyAdapter extends BaseAdapter{
private ArrayList<String> listdata;
private Context context;
public MyAdapter(Context context,ArrayList<String> listdata){
this.context = context;
this.listdata = listdata;
}
@Override
public int getCount() {
// TODO Auto-generated method stub
return listdata.size();
}
@Override
public Object getItem(int arg0) {
// TODO Auto-generated method stub
return listdata.get(arg0);
}
@Override
public long getItemId(int arg0) {
// TODO Auto-generated method stub
return arg0;
}
@Override
public View getView(int arg0, View arg1, ViewGroup arg2) {
// TODO Auto-generated method stub
Log.i("position",arg0+"");
TextView tmView;
String temstr;
if(arg1 == null){
TextView tm = new TextView(context);
tmView = tm;
tmView.setTag("old" + arg0);
tmView.setText(listdata.get(arg0));
}else {
tmView = (TextView)arg1;
tmView.setText(listdata.get(arg0) + "\t" + arg1.getTag());
}
return tmView;
}
最新文章
- embedding mono实战笔录(一)
- to_string()的应用
- php中的ip2long和long2ip的理解
- android 2.2 videoView 诡异bug
- Mac下无法拷贝文件到移动硬盘
- Codeforces Educational Codeforces Round 5 A. Comparing Two Long Integers 高精度比大小,模拟
- 【PHP基础】常用mySQL语句以及WampServer2.2设置数据库默认编码
- Bzoj 1598: [Usaco2008 Mar]牛跑步 dijkstra,堆,K短路,A*
- 用Apache Ivy实现项目里的依赖管理
- 解决Admob Banner首次展示不显示的问题
- Bootstrap第一天
- 微信分享 JSSDK的使用
- 关于缓存和 Chrome 的“新版刷新”
- 雷林鹏分享:XML 树结构
- snmp 简单网管协议
- Semantic Versioning Specification &; 语义化版本
- C#学习笔记(32)——委托改变窗体颜色
- CF576C Points on Plane 构造
- DevExpress v18.1新版亮点——ASP.NET篇(一)
- Eclipse下,修改MAVEN 中央仓库地址,解决maven下载慢问题