导航
  • 全部
...

自定义Adapter中getView调用次数的问题

zcj_1122 2011-10-20 11:47:43
一个ListView,每个Item要显示一个ImageView和两个TextView,所以自己写了个Adapter。但在调试时发现当数据只有一条时,getView函数也会被反复调用多次,导致界面刷新较慢。而且ImageView的图片是异步加载的,如果多次调用会重复创建加载线程,浪费资源。请问如何解决这个问题?

搜索网上有人讨论过这问题,给的解决方法是把listview的android:layout_height属性设为fill_parent,但是还是会重复调用getView。
...全文
给本帖投票
4686 24 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
24 条回复
切换为时间正序
请发表友善的回复…
发表回复
ssmoom 2013-11-27
  • 打赏
  • 举报
回复
请问楼主:用gridView显示时,getView()方法一直都是调用了多次 这个问题解决了么有啊,我现在也遇到这个问题了
justingboywl 2013-07-02
  • 打赏
  • 举报
回复
把listview的android:layout_height属性设为fill_parent,试了一下没有重复调用getView了 。
justingboywl 2013-07-02
  • 打赏
  • 举报
回复
试了一下,效果是这样的!
yqc603090635 2013-03-27
  • 打赏
  • 举报
回复
顶起来。。。。。。。。。。。
HlyLove123 2012-08-01
  • 打赏
  • 举报
回复
感谢13楼给的网址,问题解决了,效率快了很多
HlyLove123 2012-08-01
  • 打赏
  • 举报
回复
我这是用gridView来显示的,也设置了这个了
android:layout_width="fill_parent"
android:layout_height="fill_parent"
用listview显示时,按13楼给的地址的方式解决了这个问题,可是用gridView显示时,按这种方式却解决不了这个问题,不知道有哪位大侠知道是什么原因!!!
用gridView显示时,getView()方法一直都是调用了多次的啊,求解!!!急救...
HlyLove123 2012-08-01
  • 打赏
  • 举报
回复
我这是用gridView来显示的,也设置了这个了
android:layout_width="fill_parent"
android:layout_height="fill_parent"
用listview显示时,按13楼给的地址的方式解决了这个问题,可是用gridView显示时,按这种方式却解决不了这个问题,不知道有哪位大侠知道是什么原因!!!
用gridView显示时,getView()方法一直都是调用了多次的啊,求解!!!急救...
zcj_1122 2011-11-24
  • 打赏
  • 举报
回复
感谢13楼!
myg_315 2011-11-05
  • 打赏
  • 举报
回复
13楼给的网址,挺好的,希望对你有帮助!
ucasliming 2011-11-05
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 futurebp 的回复:]

布局有问题 http://blog.csdn.net/f8376904110/article/details/6460934
我也有此类问题 ,你看一下。。
[/Quote]
里面说的很有道理,楼主看看吧。帮顶一下。。。
wyx100 2011-11-05
  • 打赏
  • 举报
回复
定义一个Bitmap数组 把取到的资源放进这个数组里,在getview里直接用bitmap的资源,注意要释放bitmap
futurebp 2011-11-04
  • 打赏
  • 举报
回复
布局有问题 http://blog.csdn.net/f8376904110/article/details/6460934
我也有此类问题 ,你看一下。。
tristan-k 2011-11-03
  • 打赏
  • 举报
回复
我遇到了也是关于调用getView()次数的问题,情况是这样的,通过button实现从一个TabActivity跳转到一个ListActivity,item的个数,我先将其写死,只测试3个,这个时候问题就出来了,数据可以显示出来,但是getView()方法却调用了两次,当item的个数为1的时候,也是调用2次。
这是其一,还有一点,假如我在这两个activity中间添加一个Activity的时候,再通过这个添加的Activity上的按钮跳转到ListActivity的时候,getView方法调用一次, 而假如这个中间Activity没有什么事件,里面只是一个单纯的跳转到listactivity,那么ListActivity也是调用2次getView()方法
不知楼主的问题解决没有
J明 2011-10-22
  • 打赏
  • 举报
回复
看你要实现什么功能,getview是界面改变时都会调用,比如上下翻页时都会重新调用getview方法。
妖怪 2011-10-22
  • 打赏
  • 举报
回复
getAdapter第一个参数 如果是之前已经载入的就有数值了
你判断一个是不是为null就好了
如果不为null 直接return
会快很多
beijingextjs 2011-10-21
  • 打赏
  • 举报
回复
getCount返回数据条数,getView 每次滑动有数据需要显示就会调用
手指风 2011-10-21
  • 打赏
  • 举报
回复
应该是结合adapter的getCount方法得到的数量,再加上进行每页可以显示的Item数计算后得出的。你把getView的代码贴出来看看吧
xiaozhuangfeng 2011-10-21
  • 打赏
  • 举报
回复
不懂,帮顶
zcj_1122 2011-10-21
  • 打赏
  • 举报
回复
没有人遇到过吗?~~~~
futurebp 2011-10-21
  • 打赏
  • 举报
回复
你把定义一个Bitmap数组 把取到的资源放进这个数组里,在getview里直接用bitmap的资源,注意要释放bitmap
加载更多回复(4)

80,470

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧

手机看
关注公众号

关注公众号

客服 返回
顶部