Скрыть строку из ListView, не занимая места
У меня есть ListView со связанным ArrayAdapter, который отображает его содержимое в нескольких действиях. К сожалению, теперь стало необходимо, чтобы мой ListView в одной из настроек отображал не все его элементы, а только те, где "имущество" не установлен в true. Я хотел бы избегать использования двух ArrayAdapter с разным содержимым, так как тогда мне нужно как-то синхронизировать их. Я попробовал это так (этот метод теперь предполагает, что 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. Я хотел бы сделать строку невидимой в том смысле, что она больше не занимает места. Это возможно?
Используемый XML-файл для convertView выглядит следующим образом:
Я пытался воспроизвести все Android: layout_height = "обернуть содержимое" с "fill_parent» но это ничего не изменило ...
Спасибо!