首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > Android >

重写BaseAdapter的getView方法出现有关问题

2012-09-19 
重写BaseAdapter的getView方法出现问题Java codepublic int getCount() {// TODO Auto-generated method s

重写BaseAdapter的getView方法出现问题

Java code
    public int getCount() {        // TODO Auto-generated method stub        return 5;     }

getCount()返回的是5
但是 public View getView(int position, View convertView, ViewGroup parent) 
输出position的值的话,
被调用了6次,但是不是0-5,而是0,1,2,3,4,0
最后一个0是怎么个情况啊?

[解决办法]
调用测试会多次的,每次数据更新都会对此调用,你只要position对应对了就好,没必要担心
[解决办法]
探讨
Java code
public int getCount() {
// TODO Auto-generated method stub
return 5;
}


getCount()返回的是5
但是 public View getView(int position, View convertView, ViewGroup parent) ……

[解决办法]
是listview屏蔽了button的click事件吧
[解决办法]
getItemId,这个你有没有重载?看看你自己写的返回数值是什么
[解决办法]
itemPosition = position;//这个是在不停的变化的。
remove.setOnClickListener(new OnClickListener() {

public void onClick(View v) {
// TODO Auto-generated method stub
System.out.println("ButtonClick");
itemList.remove(itemPosition);//这边你删除的是最后一次调用getView的item,所以会有问题
ProductAdapter.this.notifyDataSetChanged();
}
});
return itemView;
[解决办法]
解决方法,一个比较简单的方法是,设置button的tag,把当前的position设置上,然后在onclick中,取出这tag,就可以删除数据了。不然,你是没有办法去传递参数的。这个方法,包治百病,嘿嘿

热点排行