我有一个ListView与一个关联的ArrayAdapter在几个活动中显示其内容.不幸的是,现在有必要,我在其中一个设置中的ListView不显示其所有元素,只是没有将“属性”设置为true的元素.我想避免使用两个具有不同内容的ArrayAdapters,因为我以某种方式需要使它们保持同步.我尝试这样(这个方法现在只是假定在我们想要隐藏某些元素的设置中调用getView):
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;
}
这个工作,但是如果元素的isProperty == true,我会得到一个白色行.我想让这一行在这个意义上看不见,它不再占用任何空间.那可能吗?
用于convertView的已使用的xml文件如下所示:
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingTop="5dp"
android:paddingBottom="5dp"
android:orientation="vertical">
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
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" />
android:id="@+id/text_item_status"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="12sp"
android:textStyle="bold" />
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textSize="12sp"
android:maxLines="3"
android:ellipsize="none" />
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="2dp"
android:orientation="horizontal" >
android:id="@+id/text_item_rating"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="4dp"
android:textSize="10sp" />
android:id="@+id/text_item_voted"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="10sp" />
我试图重播所有的android:layout_height =“wrap_content”与“fill_parent”,但它没有改变任何东西…
谢谢!