如何在将view.setVisibility设置为GONE后删除listview dividerHeight

时间:2015-04-09 11:06:46

标签: android android-listview visibility

我正在使用ViewHolder模式和自定义光标适配器。 但是当我使用setVisibility Gone一个视图时,dividerHeight的行没有realase空间!

如何解决?感谢

2 个答案:

答案 0 :(得分:3)

如果你在问题中写的到底是什么。这样做:

让每个listView项目布局包含一个TextView和一个View(每个项目后面的分隔符),然后根据你在getView()方法中获得的位置参数来改变视图的高度。

ListView项目布局:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:padding="5dp" >
    <TextView
        android:id="@+id/label"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_toRightOf="@id/logo"
        android:padding="5dp"
        android:textSize="14dp" >
    </TextView>
    <View
        android:id="@+id/view"
        android:layout_width="fill_parent"
        android:layout_height="1dp"
        android:layout_below="@id/label"
        android:background="@drawable/orange" />
</RelativeLayout>

现在在适配器类中,ViewHolder包含TextView以及View。

所以,

Holder.View = (View)convertView.findViewById(R.id.view);
if(position == 0){
     (Holder.View).setHeight(2);
}

等等。

答案 1 :(得分:0)

Try This Code:- 

<ListView

        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:cacheColorHint="@android:color/transparent"
        android:divider="@android:color/transparent"
        android:dividerHeight="0dp"
        android:scrollbars="vertical" >
    </ListView>