Элементы Android TextView остаются связанными с помощью циклов

#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. я сказал «ушел», а не «невидимый»