1

我正在通过数据库中的 dailogfragment 和通过数据库的列表视图删除项目。我能够从数据库、列表视图中删除该项目,并且能够刷新列表,并从列表视图中删除已删除的项目。

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

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

当我再次执行列表视图片段时,它消失了。

我已经坚持了很长时间了。

这是我的 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 中删除样式后,这个问题似乎消失了,但后来我坚持使用默认背景作为列表项背景,我想自定义。

那我怎么能实现它。

4

3 回答 3

0

试试这个:

在包含 ListView 的主 XML 中,

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

    android:cacheColorHint="#00000000"
于 2012-07-19T18:29:00.833 回答
0

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

    listView = (ListView)findViewById(R.id.listViewMain);
      listView.setCacheColorHint(Color.TRANSPARENT); // add this line in your code
于 2012-07-19T18:32:24.637 回答
0

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

因此,我使用以下方法为列表视图行实现了自定义背景: ListView item background via custom selector

于 2012-07-31T05:07:14.990 回答