android-继承BaseAdapter--自己定义适配器,getView运行多次的解决方法

定义的getView运行多次的ListView布局:

 <ListView
        android:id="@+id/lv_messages"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_alignParentLeft="true"
        android:layout_below="@+id/linearLayout1"
        android:cacheColorHint="#0000"
        android:divider="#0000"
        android:dividerHeight="2dp"
        android:listSelector="#0000" >
    </ListView>

运行多次原因是由于每显示一个VIew,它都去測量view的高度。运行measure方法。导致getView运行多次。

正确的布局:

 <ListView
        android:id="@+id/lv_messages"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_alignParentLeft="true"
        android:layout_below="@+id/linearLayout1"
        android:cacheColorHint="#0000"
        android:divider="#0000"
        android:dividerHeight="2dp"
        android:listSelector="#0000" >
    </ListView>

把width和height都设置成fill_parent,假设ListView有父布局,也把父布局的width和height设置成fill_parent,这样就成功的攻克了自己定义适配器getView 运行多次的问题。

以下这3行能够解决ListView滑动变黑的问题:

   android:cacheColorHint="#0000"
        android:divider="#0000"
        android:listSelector="#0000" 

希望能够帮助到大家解决这个问题!

时间: 2024-10-12 13:06:54

android-继承BaseAdapter--自己定义适配器,getView运行多次的解决方法的相关文章

android-继承BaseAdapter--自定义适配器,getView执行多次的解决方法

定义的getView执行多次的ListView布局: [html] view plaincopy <ListView android:id="@+id/lv_messages" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_alignParentLeft="true" android:layo

android设计的布局在阿拉伯语下界面错乱的解决方法

(1)正在AndroidManifest.xml声明文件的application元素中,增加" android:supportsRtl=true" (2)建] androidの设计的布局在阿拉伯语下界面错乱的解决方法 (1)在AndroidManifest.xml声明文件的元素中,添加" android:supportsRtl=true" (2)修改应用程序中layout的"left/right"布局属性,改为对应的"start/end

usb设备运行不正常的解决方法(转)

add by zhj:上午鼠标还用的好好的,下午就不能用了,插上之后提示“跟这台计算机连接的一个usb设备运行不正常”,尼玛,什么情况?我今天没安装软件啊,换了个USB接口也不行,在另一台电脑上试还是不行,在我想把这个鼠标扔了的时候,发现了下面的帖子,用第一种方法试了试.把插头拔下来,用钥匙连接了一下正负线,然后把鼠标拔出重新插上,OK,果然牛逼,好了,不用重启电脑. 原文:http://itbbs.pconline.com.cn/diy/16197514.html 很多朋友碰到无法识别的USB

php-fpm定义成集群资源时报错解决方法

这是我在实验中碰到的问题,我们在定义php-fpm为资源的时候,用php程序包自带的脚本会报错. 笔者花了很多时间尝试了各种办法,最后找到了一位网友写的脚本,可以解决. 脚本如下: #!/bin/sh #======================================================================================= # php-fpm - this script start and stop the php-fpm daemon #

Mac下cocos2dx-3.0打包Android时,提示&amp;quot;SimpleAudioEngine.h&amp;quot;not found的解决方法

前段时间触控公布cocos2dx-3.0,在升级之后试过之后,在最初的不习惯之后,感觉比之前的好用了不少,在下之前一直是用xCode模板创建,这回算是一口气升到顶了. 之后再一次编程时须要用到SimapleAudioEngine,而之后调试的时候在iPhone上全然没问题,可是在Android真机上调试时,却提示"SimpleAudioEngine.h" not found,在网上查了下,应该是库没有导入,可是因为我对eclipse了解不多,并且import入的时候也有莫名其妙的错误,

Android eclipse导入项目后出现Unable to resolve target &#39;android-17&#39;解决方法

eclipse导入项目后出现Unable to resolve target 'android-17'解决方法,在最后附带另一种编译逻辑不成功情况解决方法. 一.问题情况 二.解决办法 1.修改项目的目标版本与当前Android sdk相对应的版本 2.自动修复一下项目 三.这个问题不是上面的.是另外情况,在这里也奉上.如果项目出现逻辑正确,可能有些项目东西没有编译到.解决办法: 版权声明:本文为博主原创文章,未经博主允许不得转载. Android eclipse导入项目后出现Unable to

运行Tomcat报错 解决方法

运行Tomcat报错 解决方法 运行Tomcat控制台报错: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: /usr/local/jdk1.6.0_26/jre/lib/i386/server:/usr/local/jdk1.6.0_26/jre/lib/i3

安卓安装提示:Android SDK requires Android Developer Toolkit version 21.1.0 or above. (错误解决方法)

安卓安装提示:Android SDK requires Android Developer Toolkit version 21.1.0 or above.  (错误解决方法) 主要是由于版本不对,sdk和adt的版本. 解决思路: 打开Eclipse--帮助(help) -- Install Now Software -- Add按钮 Name:随便输入 下面的文本框输入 :http://dl-ssl.google.com/android/eclipse/ 在线更新就行了,超慢呀! =====

node.js安装后输入“node -v”提示&#39;node&#39; 不是内部或外部命令,也不是可运行的程序的解决方法

换个电脑,重新搭配环境的时候遇到的问题.node.js已经在官网进行下载安装了,但是VScode里面显示不是内部的命令,也不是可运行的程序 但是在cmd控制台还是能查到的 借助网上的方法进行了测试和调配并没有成功,路径我也进行了配置了,不知道是哪里的问题,先在这里凑合着用吧 ps:windows+r----<  输入cmd-------<打开控制台(此处可以使用命令) 网站上的方法: https://blog.csdn.net/KingJulien2/article/details/73302