Listview 在7.0 下面 convertView 只有第一条为空

1.突然遇到在华为M3上的Dialog 里面的listview 在显示选中状态改变背景色的时候出现很奇怪的问题,无法改变选中的状态,背景色也不改变!但是在5.0 的设备上没有问题

2.打了断点发现在activity listview就是正常的

3.有人说是listview 设置了height = wrap_content 引起的,但是我的设置的确实是Match_parent

4.在adapter 里面打断点发现 除了第一个convertView 是为空,其他的都不为空

5.在改变布局等一些列猜想之后找不到原因,因为前面遇到过因为主题原因引起的各种view 在不同版本上引起的表现不同的状况,于是猜想是不是Dialog 设置的主题的原因:

下面是改之前的主题样式:

  <style parent="@android:style/Theme.Dialog" name="NoTitleDialog">
        <item name="android:backgroundDimAmount">0.6</item>
        <item name="android:windowBackground">@null</item>
        <item name="android:windowFrame">@null</item>
        <item name="android:windowNoTitle">true</item>
        <item name="android:windowIsFloating">true</item>
        <item name="android:windowContentOverlay">@null</item>
        <item name="android:backgroundDimEnabled">true</item>
        <item name="colorAccent">@color/ufs_color_sea_blue</item>
    </style>

改制后的样式:

<style parent="android:style/Theme.Dialog" name="Dialog">
        <item name="android:background">#00000000</item>
        <item name="android:windowBackground">@android:color/transparent</item>
        <item name="android:windowNoTitle">true</item>
        <item name="android:windowIsFloating">true</item>
    </style>
虽然暂时还没确定是哪个属性影响了listview 的表现,先记录一下。


猜你喜欢

转载自blog.csdn.net/yyo201/article/details/80761888