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" 

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


  • 相关阅读:
    关于版权
    简易的命令行入门教程:
    安卓图标
    Flutter 第一次运行就出现白屏的问题
    解决应用白屏
    main.dart
    Hello World
    Flutter学习指南:UI布局和控件
    Flutter
    编译环境与生成环境的JDK版本不一样,报 java util zip ZipException error in op
  • 原文地址:https://www.cnblogs.com/gavanwanggw/p/6936675.html
Copyright © 2011-2022 走看看