Ocultar linha do ListView sem ocupar espaço

Eu tenho um ListView com um ArrayAdapter associado que exibe seu conteúdo em várias atividades. Infelizmente, é necessário agora que meu ListView em uma das configurações não exiba todos os seus elementos, mas apenas aqueles em que "property" não está definido como true. Eu gostaria de evitar usar dois ArrayAdapters com conteúdo diferente, já que de alguma forma eu preciso mantê-los em sincronia. Eu tentei assim (este método agora apenas assume que getView é chamado na configuração onde queremos esconder certos elementos):

public View getView(int position, View convertView, Context context) {
....

    if(!arrayitems[position].isProperty()) { //arrayitems is the underlying array
        convertView.setVisibility(View.VISIBLE); 
    } 
    else {
        convertView.setVisibility(View.GONE); 
    }
    return convertView;
}

Isso funciona, no entanto, obtenho uma linha branca se o elemento tiver isProperty == true. Eu gostaria de tornar a linha invisível no sentido de que ela não ocupa mais nenhum espaço. Isso é possível?

O arquivo xml usado para convertView se parece com isso:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent" 
    android:paddingTop="5dp"
    android:paddingBottom="5dp"
    android:orientation="vertical">
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal" >

        <TextView
            android:id="@+id/text_item_time"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginRight="4dp"
            android:maxLines="1"
            android:ellipsize="none"
            android:textSize="12sp"
            android:textStyle="bold" />

        <TextView
            android:id="@+id/text_item_status"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textSize="12sp"
            android:textStyle="bold" />

    </LinearLayout>

     <TextView android:id="@+id/text_item_text"
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
         android:textSize="12sp"
         android:maxLines="3"
         android:ellipsize="none" />

     <LinearLayout
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
         android:layout_marginTop="2dp"
         android:orientation="horizontal" >

         <TextView
             android:id="@+id/text_item_rating"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
             android:layout_marginRight="4dp"
             android:textSize="10sp" />

         <TextView
             android:id="@+id/text_item_voted"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
             android:textSize="10sp" />

     </LinearLayout>

</LinearLayout>

Tentei repetir todos android: layout_height = "wrap_content" com "fill_parent" mas isso não mudou nada ...

Obrigado!

questionAnswers(6)

yourAnswerToTheQuestion