android的listview多次调用getview原因和解决方法

2011-09-21 09:48:44|分类: 默认分类 |标签:androidapple云win8腾讯qq |举报 |字号订阅

此问题在于,ListView没有取到实际的高度,无法确定取多少View来填充ListView,

也就是运行getView()的具体运行次数。

解决方法: 给ListView设置固定高度或者fill_parent。 (我采取的办法就是给ListView 的父类设置足够大 例如 500dp 1000dp等)

不过这个方法也有局限性,也就是当你自定义listview并嵌入到ScrollView控件里面的时候,这个解决方法也就失效了。悲剧的是,我成为了悲剧的一员。希望能找到解决的方法。。

最新进展:通过定义一个boolean类型的数组来判断是不是第一次进来,不是第一次就不执行里面的操作,算是成功解决。哈哈


最新进展:(2011.11.12跟进)

通过这段时间的不断改进和细节比较,最终放弃listview并嵌入到ScrollView这种方法,毕竟google也不提倡这种做法。

还是用最先的设置固定高度方法,可以很好的解决。

如果有分页读取,需要在listview中添加一个加载条的话,可以考虑listview.addFooterView(loadingBar);通过inflate添加一个布局到listview底部。这个方法很不错,最主要的是高效率。


以前的方法纯粹是用空间换时间,导致用户体验不好。


更多相关文章

  1. android 程序开发的插件化 模块化方法 之一
  2. Android中几种关闭Activity或app的方法
  3. Windows下离线安装Android SDK的简单方法
  4. [置顶] Android ListView高度自适应和ScrollView冲突解决
  5. 超详细图文讲解android studio导入第三方类库的方法
  6. Android实现在ServiceManager中加入自定义服务的方法详解
  7. Android命令行/c语言/java设置获取系统属性(getprop/setprop)的

随机推荐

  1. 《吊打面试官》系列-重复消费、顺序消费
  2. 如何在Mac上的照片中创建新的相册或文件
  3. 函数递归、匿名函数、内置函数
  4. 《吐血整理》-顶级程序员工具集
  5. 在iMovie 剪辑中如何添加即时重放或倒回
  6. 用孪生网络、对比损失和三重损失进行人脸
  7. 当Adobe在使用过程中出现“非正版提示”
  8. AI首次全面超越数据库专家!腾讯、华科推出
  9. 一文了解 Apache Spark 3.0 动态分区裁剪
  10. 《浅入浅出》-RocketMQ