Использование CustomListAdapter для динамического заполнения ListView не является полностью передокументированным! Было очень сложно найти информацию об этом, но я, наконец, получил его работу.Android.Views.ViewStates.Gone в CustomListAdapter, вызывающий непредсказуемые результаты
Таким образом, в моем списке CustomListAdapter я заполняю список, содержащий кучу ящиков и содержимое каждого из них. Есть до 4 пунктов допускается (через LinearLayout из TextViews) в коробке
Box 0
--------
shirts
shoes
ties
boxers
Box 1
-------
laptops
Box 2
-----
tennis racket
basketball
diving mask
Box 3
----------
tiles
grout
Пока я оставляю неиспользуемые TextViews отдельно (т.е. пустой & видно) CustomListAdapter работает отлично. Но список очень длинный, когда отображаются все эти пустые строки. В LinearLayouts с < 4 элемента (например, вставка 1), если я попытаюсь сжать пустое вертикальное пространство, установив видимость невидимого TextViews на «Gone», данные будут беспорядочно перемешаны, то есть «маску для дайвинга» будет появляются во Вставке 1 вместо Вставки 2, и содержимое Box 0 исчезнет.
Неужели кто-то еще испытал эту непредсказуемость при использовании x.Visibility = ViewStates.Gone в CustomListAdapter? Есть ли лучший способ, чем установка Android.Views.ViewStates.Gone, чтобы избавиться от вертикального пространства, занимаемого неиспользуемыми TextViews?
Звучит как проблема утилизации. Отправьте свой код адаптера. – dmon
"появится во вставке 1 вместо Box 2, и содержимое Box 0 исчезнет" звучит для меня, как будто вы делаете что-то еще неправильно. Где код, который скрывает TextViews - внутри 'getView'? – zapl
Разве вы не должны удалять элемент из основного, а не скрывать элемент ListView? – Matthew