如何动态隐藏listview分隔线?

时间:2011-09-16 13:55:55

标签: android listview hide divider

我有这个ListView,我想隐藏的项目取决于RadioGroup的选择。目前我将一个布尔值传递给ListAdapter,因为RadioGroup只有两个选项。我的项目包含一个复选框,我想显示整个列表或只显示选中复选框的列表。我成功地隐藏了这些物品,但是分隔物仍然显示,我该如何解决这个问题呢?

看看它是什么样的

http://www.mediafire.com/i/?wa2s0ngq027vjwr

http://www.mediafire.com/i/?9i6ggj2fdsns2da

(我是新手,因此我无法在此处上传图片)

我的行的xml将是:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent" android:layout_height="wrap_content"
android:padding="1dip" android:gravity="center_vertical"
android:background="#FFF">
<CheckBox android:id="@+id/dispositivo_tv"
    android:layout_width="wrap_content" android:layout_height="wrap_content"
    android:textColor="#000000" android:textSize="15dip"
    android:layout_alignParentLeft="true" />
<LinearLayout android:id="@+id/botones"
    android:layout_height="wrap_content" android:layout_width="wrap_content"
    android:layout_alignParentRight="true" android:gravity="center_vertical">

    <ImageButton android:layout_width="wrap_content"
        android:layout_height="wrap_content" android:id="@+id/button_foto"
        android:src="@drawable/camera" android:background="#FFF"
        android:paddingRight="15dip" android:visibility="invisible"></ImageButton>
    <ImageButton android:layout_width="wrap_content"
        android:layout_height="wrap_content" android:id="@+id/button_comentario"
        android:src="@drawable/comment_add" android:background="#FFF"
        android:paddingRight="15dip"></ImageButton>

</LinearLayout>
</RelativeLayout>

并且ListView的xml块将是:

<LinearLayout android:layout_width="fill_parent"
android:layout_height="fill_parent" android:orientation="horizontal"
android:padding="5dip" android:background="@layout/list_box">
<ListView android:id="@android:id/list" android:layout_width="fill_parent"
    android:layout_height="wrap_content" android:cacheColorHint="#00000000"
    android:headerDividersEnabled="false" android:footerDividersEnabled="false
    </ListView>
</LinearLayout>

当我告诉你的布尔值被设置为FALSE时我用来隐藏行的是:

wrapper.getDispositivo().setVisibility(View.GONE);
wrapper.getFoto().setVisibility(View.GONE);
wrapper.getComentario().setVisibility(View.GONE);

PS:包装器是类的实例,其中我拥有该行的所有元素,即复选框(getDispositivo())和几个图像按钮(getFoto(),getComentario())

提前致谢...

1 个答案:

答案 0 :(得分:1)

如何在相对布局和setDivider(null)中使用自定义分隔符;所以一旦隐藏了布局,分隔线也会被隐藏。我想将其添加为评论。但它只有在50次重复之后才能作为答案。