在Android开发中,ListView被大量使用,ListView需要的情况多种多样。有时只需要简单的文字列表,有时需要将一个比较复杂的布局作为Item的内容,有时甚至需要不同类型,不同布局的内容交错排布在ListView中。按照通常的ListView优化策略会使用convertView和vi.....
分类:
其他好文 时间:
2015-05-02 16:23:56
阅读次数:
136
下拉刷新是很多应用都使用的很流行的一种效果,今天也算是彻底的理解了一下PullToRefreshListView的使用,但是弄了一天却在一个很傻的地方犯了错误。 @Override public View getView(int position, View convertView, V...
分类:
移动开发 时间:
2015-05-01 01:47:17
阅读次数:
230
又遇到ListView加载item时,多个item中的图片会错位的情况现象如下图,同一个人的头像显示的乱七八糟找了一张图,很好地说明了问题的原因问题原因就在于convertView的重用,当重用 convertView 时,最初一屏显示 7 条记录, getView 被调用 7 次,创建了 7 个 convertView,当 Item1 划出屏幕, Item8 进入屏幕时,这时没有为 Item8 ...
分类:
移动开发 时间:
2015-04-24 10:42:23
阅读次数:
183
目前我们ListView的运行效率是很低的,因为每次getView()方法中每次都将布局重新加载一遍,
当ListView快速滚动的时候就会成为性能的瓶颈
解决办法:在getView()方法中还有一个convertView参数,这个参数用于将之前加载好的布局进行缓存,
以便之后进行重用,所以在getView()方法中进行判...
分类:
其他好文 时间:
2015-04-22 18:21:53
阅读次数:
114
在写ViewList的时候要写Adapter的时候,经常大量的代码都是差不多的。1 ViewHold2 if(convertView ==null ){}else{}3 setTag4 FIndElement 和 Set 等等所以我想能不能写一个通用的ViewHold的和通用的Adapter呢?我们...
分类:
移动开发 时间:
2015-04-20 13:00:31
阅读次数:
183
ListView 图片错乱的根本问题是:ListView 布局复用导致的,也就是复用convertView导致的解决:1,用第三方的ImageLoader2,自己处理最主要的就是给ImageView设置Tag,保证ImageView要加载的图片就是从网络上获取的图片3,通过ListView Item...
分类:
其他好文 时间:
2015-04-11 01:14:22
阅读次数:
311
很多时候我们都通过BaseAdapter.getView()中的convertView来提高ListView的性能,这个时候如果我的的ListView的Item里有一个正在更新ProgressBar,结果就悲惨了。。。 滑动界面时并没有达到我们想要的效果。解决这个问题其实很容易,在数据集中保存一下更新的进度,然后在getView中不断去设置进度。
还有一个问题就是,当有进度更新的时候,我们是要不...
分类:
其他好文 时间:
2015-04-05 17:35:38
阅读次数:
133
在Android开发中,ListView的使用频率及其高,可以说99%的应用中你都可以看到他的身影。在日常的开发工作中,我们一般会通过以下方法来优化ListView的效率:1.复用getView方法中的convertView一个ListView可能有很多Item,但是限于手机屏幕非常有限,所以只能显...
分类:
其他好文 时间:
2015-04-02 23:50:17
阅读次数:
210
最近因为一个项目的原因需要自定义一个BaseAdapter实现ListVIew单选打勾的功能,虽然听起来很简单,我在网上也 看过一些例子,似乎是实现了,但往往存在一些漏洞。往往漏洞如下
1、网上例子item较少,item增多时漏洞出现,忽略了BaseAdapter中getView()方法中convertView重用的问题
2、忽略了BaseAdapter中getView()方法并不是一下子加载完所有item,上下拖动listview时item会重新加载,getview会重新被调用,所以上下拖动的时候漏洞出 ...
分类:
其他好文 时间:
2015-04-01 11:30:56
阅读次数:
154
对于提升Android中频繁使用的ListView子Item View的加载效率,基于两点基本考虑:
1,Android的View的创建比较消耗资源;
2,findViewById()也不是最快的。
所以在实际开发中经常使用的适配器中的getView()方法:
public View getView(int position, View convertView, ViewGroup par...
分类:
移动开发 时间:
2015-03-31 16:06:41
阅读次数:
141