列表视图项目后面的黑条被删除 - 安卓

时间:2012-07-19 18:19:28

标签: android listview

我通过数据库和listview通过数据库中的dailogfragment删除项目。我能够从列表视图中删除数据库中的项目,并能够从列表视图中删除已删除的项目来刷新列表。

但问题是我在删除项目后立即获得某种类型的黑条(已删除项目背后的背景):http://i733.photobucket.com/albums/ww331/suntuu/Capture-1.png

在图像中你可以看到我的默认背景是白色(theme.holo.light),但在删除后,这个黑色背景会弹出。

当我再次执行listview片段时,它会消失。

我很长时间以来都坚持这个。

这是我的xml布局文件:

 <?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:cacheColorHint="#00000000"
    android:orientation="vertical" >

    <ListView
        android:id="@+id/list1"
        android:cacheColorHint="#00000000"
        style="@style/AndroDev"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:dividerHeight="2dp"
        android:paddingBottom="1dp"
        android:paddingTop="1dp" />

</LinearLayout>

这是我的风格/ androdev:

  <?xml version="1.0" encoding="utf-8"?>
<resources xmlns:android="http://schemas.android.com/apk/res/android">

    <style name="AndroDev" parent="@android:style/Theme.Holo.Light">
        <item name="android:background">#F7F7F7</item>

    </style>

</resources>

更新

从我的listviee中删除样式后,这个问题似乎已经消失,但后来我仍然坚持使用列表项目背景的默认背景,我想要自定义。

那我怎么能实现呢。

3 个答案:

答案 0 :(得分:0)

试试这个:

在包含ListView的主XML中,

只需在XML中将以下属性添加到ListView: -

    android:cacheColorHint="#00000000"

答案 1 :(得分:0)

我也面临同样的问题,在活动解决了它的listview实例下面添加了以下行

    listView = (ListView)findViewById(R.id.listViewMain);
      listView.setCacheColorHint(Color.TRANSPARENT); // add this line in your code

答案 2 :(得分:0)

所以我已经解决了。问题是使用我自己的样式来获取listview项的自定义背景,这是不对的。

所以我使用这个实现了listview行的自定义背景: ListView item background via custom selector