我有一个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,我会得到一个白色行.我想让这一行在这个意义上看不见,它不再占用任何空间.那可能吗?@H_403_5@
用于convertView的已使用的xml文件如下所示:@H_403_5@
<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>
我试图重播所有的android:layout_height =“wrap_content”与“fill_parent”,但它没有改变任何东西…@H_403_5@
谢谢!@H_403_5@