最近在做电子书项目,书架是通过自定义的GridView实现的,在GridView上下滑动的过程中经常会产生数据紊乱等问题,
尝试了很多方式解决,数据项检查都正常,但是还是不能够解决,最终通过度娘得到解决方案:
通过更改自定义Adapter中getView方法,对view进行复用,也就是说当view对象为null的时候创建,不为空的时候继续使用! ...
代码显示如下:
只需要将// if (convertView == null) { 注释掉即可
public View getView(int position, View convertView, ViewGroup parent) {
// TODO Auto-generated method stub
ebook = (Ebook) getItem(position);
// if (convertView == null) {
convertView = LayoutInflater.from(context).inflate(R.layout.item1,
null);
TextView view = (TextView) convertView.findViewById(R.id.book_name);
view.setText(ebook.getEbook_name());
view.setTextSize(12);
view.setBackgroundColor(Color.rgb(65, 65, 65));
view.setBackgroundResource(R.drawable.cover_txt);
// }
return convertView;
}
尝试了很多方式解决,数据项检查都正常,但是还是不能够解决,最终通过度娘得到解决方案:
通过更改自定义Adapter中getView方法,对view进行复用,也就是说当view对象为null的时候创建,不为空的时候继续使用! ...
代码显示如下:
只需要将// if (convertView == null) { 注释掉即可
public View getView(int position, View convertView, ViewGroup parent) {
// TODO Auto-generated method stub
ebook = (Ebook) getItem(position);
// if (convertView == null) {
convertView = LayoutInflater.from(context).inflate(R.layout.item1,
null);
TextView view = (TextView) convertView.findViewById(R.id.book_name);
view.setText(ebook.getEbook_name());
view.setTextSize(12);
view.setBackgroundColor(Color.rgb(65, 65, 65));
view.setBackgroundResource(R.drawable.cover_txt);
// }
return convertView;
}