zoukankan      html  css  js  c++  java
  • 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" 

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


  • 相关阅读:
    jquery 源码学习(二)
    附加作业2
    附加题1
    实验八:一维数组的应用
    第七次作业总结
    第七次作业
    实验六:函数
    Thanks for your encourage!
    实验五:循环结构
    作业四 分支结构
  • 原文地址:https://www.cnblogs.com/gavanwanggw/p/6936675.html
Copyright © 2011-2022 走看看