Как динамически скрыть разделители списка просмотра? - PullRequest
1 голос
/ 16 сентября 2011

У меня есть этот ListView, элементы которого я хотел бы скрыть в зависимости от выбора радиогруппы. В настоящее время я передаю логическое значение в 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>

и блок xml для ListView будет:

<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 Ответ

1 голос
/ 06 октября 2011

Как насчет использования пользовательских разделителей в вашем относительном макете и setDivider (null);поэтому, когда вы скрываете макет, разделители также скрываются.Я действительно хотел добавить это как комментарий.Но это происходит только после 50 повторений, поэтому пришлось поставить его как ответ.

...