#android #listview
#Android #listview
Вопрос:
Я даже не уверен, как искать этот, но я предполагаю, что я упускаю что-то очевидное?
У меня установлен пользовательский адаптер просмотра списка для отображения различных текстовых представлений, которые определены в xml. Для некоторых текстовых представлений установлена «видимость исчезла», поскольку я не хочу, чтобы они занимали место, если нет данных для предоставления. Все работает нормально, за исключением элементов, которые попадают в поля invis после того, как строка содержит входные данные. Во всех случаях данные остаются такими же, как и в начальной строке, в которой они отображались.
Например.:
- Пустой
- Пустой
- «Я ряд!»
- «Я строка!» <— должно быть пустым
- «Я строка!» <— должно быть пустым
- «Новые данные» <—правильно
- «Новые данные» <—должно быть пустым
Я пробовал (и потерпел неудачу на каждом):
- Сбросьте вводимую строку в значение null
- Установите для textview значение invis в каждом цикле
- Я сделал это БЕЗ держателя и с тем же результатом
Я не пробовал (и действительно не хочу, если это не единственный способ):
- Создание группы новых текстовых представлений с помощью кода
ОТРЕДАКТИРОВАННЫЙ РАБОЧИЙ код для @pskink:
if (fullSubset.length() > 0 amp;amp; counter > 1){
holder.subsetBulkTV.setVisibility(View.VISIBLE);
holder.subsetBulkTV.setText(fullSubset);
}else {
holder.subsetBulkTV.setText(null);
holder.subsetBulkTV.setVisibility(View.GONE);
}
Благодаря @pskink это работает сейчас — очистив текст и установив значение invis, кажется, это работает. Если кто-нибудь может помочь мне понять, почему он не проходит через каждый цикл, я был бы благодарен — мне кажется, что так и должно быть…
Комментарии:
1. Пожалуйста, опубликуйте полный класс адаптера. Возможно, вы неправильно поняли концепцию держателя.
2. добавьте «else» с удалением setVisibility
3. @pskink — хорошая идея, и это останавливает отображение повторяющихся данных, но оставляет все пространство в контейнере. Я все еще не понимаю, почему textview все еще связан с данными из предыдущего.
4. Извините — textview занимал несколько строк внутри своего родительского элемента из-за того, что данные все еще хранятся в нем. Несмотря на то, что это был invis, он все равно уменьшил высоту. Ваше решение, наряду с очисткой данных, исправило это. Большое вам спасибо!
5. я сказал «ушел», а не «невидимый»