当前位置:编程学习 > JAVA >>

Android中ListView数据显示错乱问题


@Override
public View getView(int position, View convertView, ViewGroup parent) {
if(convertView==null){
convertView = inflater.inflate(resource, null); //*****************我认为是这句话的问题*****************
//如果改成LayoutInflater.from(context).inflate(resource,null); 就是对的,为什么?
idview = (TextView)convertView.findViewById(R.id.id);
nameview = (TextView)convertView.findViewById(R.id.name);
ageview = (TextView)convertView.findViewById(R.id.age);
}
Person person = persons.get(position);
idview.setText(person.getId()+"");
nameview.setText(person.getName());
ageview.setText(person.getAge()+"");
return convertView;
}



我认为是ListView缓存机制的问题,但是我不是很清楚为什么会这样。请高人解答!谢谢!


--------------------编程问答-------------------- 楼主能贴一下所抛出的异常吗? --------------------编程问答--------------------
引用 1 楼  的回复:
楼主能贴一下所抛出的异常吗?


不是异常,而是ListView显示的顺序会变化,而且是乱序,比如正常应该显示:
0
1
2
3
4
5

但是现在是:
3
1
2
4
5

--------------------编程问答-------------------- convertView = inflater.inflate(resource, null);
不知道楼主这句中的inflater从哪冒出来的? --------------------编程问答--------------------
引用 3 楼  的回复:
convertView = inflater.inflate(resource, null);
不知道楼主这句中的inflater从哪冒出来的?

是前面设置为类的私有属性的,LayoutInflator inflator = LayoutInflater.from(Context) --------------------编程问答-------------------- 哥们你最后解决没有。。我也出现个奇怪我一点EditText弹出键盘 跟着listview里的数据就错乱了。每次点一下EditText后list都会跟着动一次,可以EditText根本没有添加任何事件 --------------------编程问答-------------------- 楼上一针见血,以后要注意细节喽!!
补充:Java ,  J2ME
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,