android中ListView多次刷新重复执行getView的解决方法

 更新时间:2013年06月04日 16:10:34   作者:  
以前倒是没有注意listview的getView会重复执行多次,在测试的时候去断点跟踪,发现同一条数据不断的重复执行,下面与大家分享下正确的解决方法,希望对你有所帮助
以前倒是没有注意listview的getView会重复执行多次,这次因为布局比较复杂,所以在测试的时候去断点跟踪,发现同一条数据不断的重复执行。觉得很奇怪,于是上网搜索了一下。网上的解释基本一致,就是ListView布局时height和width都不是fill_parent,导致不断计算高度,不断刷新。或者说它的父容器没有设置成fill_parent。

可以布局太复杂的情况下,全部按照fill_parent去调整不现实。所以想了另一种方案,就是动态固定高度。
在程序运行后,固定ListView的高度,然后再初始化Item信息。
复制代码 代码如下:

private void fixedListView(){
listView = (ListView) findViewById(R.id.listview);
ViewGroup.LayoutParams params = listView.getLayoutParams();
layout = (HorizontalScrollView) findViewById(R.id.layout);
params.height = layout.getHeight(); //需要设置的listview的高度,你可以设置成一个定值,也可以设置成其他容器的高度,如果是其他容器高度,那么不要在oncreate中执行,需要做延时处理,否则高度为0
listView.setLayoutParams(params);
}

这样发现ListView刷新的速度大幅加快。同事也解决了Item中文本输入EditText中如果存在addTextChangedListener(new TextWatcher()的监听,导致多次执行监听代码的情况。

相关文章

  • Android编程之书架效果背景图处理方法

    Android编程之书架效果背景图处理方法

    这篇文章主要介绍了Android编程之书架效果背景图处理方法,在前面一篇《android书架效果实现原理与代码》的基础上做了一定的修改,重写GridView类处理了背景图效果,需要的朋友可以参考下
    2015-12-12
  • Android Studio一直处于Building的两种解决方法

    Android Studio一直处于Building的两种解决方法

    很多朋友都遇到过打开别人的项目一直处于Building‘XXX’Gradle project info的情况。下面小编给大家带来了Android Studio一直处于Building的解决方法,感兴趣的朋友一起看看吧
    2018-08-08
  • Android编程获取sdcard卡信息的方法

    Android编程获取sdcard卡信息的方法

    这篇文章主要介绍了Android编程获取sdcard卡信息的方法,可实现获取sdcard总容量、剩余容量等功能,涉及Android针对sdcard进程操作的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-11-11
  • Android答题APP的设计与实现

    Android答题APP的设计与实现

    这篇文章主要为大家详细介绍了Android答题APP的设计与实现,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-01-01
  • Android开发仿bilibili刷新按钮的实现代码

    Android开发仿bilibili刷新按钮的实现代码

    这篇文章主要介绍了Android 仿bilibili刷新按钮的实现代码,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2017-10-10
  • Kotlin中的高阶函数深入讲解

    Kotlin中的高阶函数深入讲解

    这篇文章主要给大家介绍了关于Kotlin中高阶函数的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2018-11-11
  • Android自动填充短信验证码功能(demo)

    Android自动填充短信验证码功能(demo)

    在项目开发中为了给用户带来极好的体验效果,通常需要实现验证码的自动填充功能,怎么实现呢?今天小编给大家分享Android自动填充短信验证码功能的实现方法,需要的朋友参考下吧
    2017-02-02
  • 详解Android数据存储之SQLCipher数据库加密

    详解Android数据存储之SQLCipher数据库加密

    对于已经ROOT的手机来说的没有任何安全性可以,一旦被利用将会导致数据库数据的泄漏,本篇文章主要介绍了Android数据存储之SQLCipher数据库加密,具有一定的参考价值,有需要的可以了解一下。
    2016-12-12
  • Android用TextView实现跑马灯效果代码

    Android用TextView实现跑马灯效果代码

    大家好,本篇文章主要讲的是Android TextView实现跑马灯效果代码,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下
    2022-01-01
  • Android TV 焦点框移动的实现方法

    Android TV 焦点框移动的实现方法

    本篇文章主要介绍了Android TV 焦点框移动的实现方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-06-06

最新评论