listView 条目错乱的问题
来源:互联网 发布:suse linux配置ntp 编辑:程序博客网 时间:2024/05/16 07:36
listView 在利用ViewHolder后,据说提高了20%的性能,不管数据准不准确,确实的提高了.但是利用ViewHolder 的时候总会出现各种各样的问题
问题1:异步加载图片的时候,会出现图片显示错乱,
问题2:加载背景的时候,滑动过快,会出现条目错乱.
问题1解决方案:
我写一段伪代码,作为范例:
@Overridepublic View getView(int position, View convertView, ViewGroup parent) {ViewHolder holder = null;if (convertView == null) { View view = View.inflate(context, R.layout.item_demo, null); holder = new ViewHolder(); holder.imageView = view.(ImageView) view .findViewById(R.id.imageView);// 图片id view.setTag(holder); } else {view = covertView;holder = view.getTag();}//list是,构造方法传来的图片url集合holder.imageView.setTag(list.get(position).imageUrl);if((String)holder.getTag()== list.get(position).imageUrl) {//加载图片} return view;}class ViewHolder {ImageView imageView;}
问题2解决方案:
当我们想做出,一个listView,背景偶数,无背景,奇数有背景.
我们在判断的时候,千万不能用,position%2 ==1 或者 0 来判断,通过打印log,你会发现,position始终就是,0到 手机屏幕显示的条目数
判断应该通过全局的变量list来判断:(切记通过全局变量判断)
if (list.get(position).id % 2==1 ) {holder.lout.setBackgroundColor(Color.parseColor("#FFFFFF"));}
但是,你会发现当你快速滑动时,背景又出错了如图:
解决办法是:在背景选择时,一定记得else 加上:
if (list.get(position).id % 2==1 ) {holder.lout.setBackgroundColor(Color.parseColor("#FFFFFF"));}else {holder.lout.setBackgroundColor(Color.parseColor("#D7D7D7"));}然后就正常了如图:
如果你觉得,解决了你问题,不要吝惜,点个赞吧.
参考自:点击打开链接
1 0
- listView 条目错乱的问题
- 解决listview条目错乱问题
- Android 解决Listview条目里面有Edittext数据错乱问题
- listview复用后数据错乱问题的解决
- 关于ListView中checkBox错乱的问题
- ListView 数据错乱问题的解决(CheckBox)
- ListView+CheckBox错乱问题
- Listview Checkbox错乱问题
- android listview错乱问题
- Listview Checkbox错乱问题
- ListView添加条目后,条目显示的顺序问题
- android listview 每个条目线的问题
- 关于ListView 条目点击混乱的问题
- 解决ListView加载错乱问题
- listview滚动时edittext的值会错乱的问题
- listview复用导致内容错乱的问题
- 关于ListView中checkBox选中状态错乱问题的解决办法
- ListView中多个EditText获取值错乱的问题
- andorid SQLite 的使用详解
- 最奇特的编程语言特征
- 新浪云 SVN Update代码过慢
- apt-add-repository
- 实用开发平台对比分析
- listView 条目错乱的问题
- GStreamer集成GUI工具编译通过,有排错过程
- SpringMVC的文件上传功能
- luci的实现框架 ----我的笔记(2.3)
- Codeforces-----233C---Cycles模拟
- 互联网段子
- QCompleter自动补全
- Charles for Mac 4.0.1 破解版 – Mac上优秀的HTTP监视器和抓包工具(现在抓包真是越来越难了)
- Hibernate实现有两种配置(xml配置与注释配置)