У меня есть ListView, в котором каждая строка является TextView и отображает строку текста. Я получаю проблему, когда иногда появляется нежелательная пустая строка. Пустая строка уходит, как только список прокручивается мимо этой конкретной области.Нежелательный случайный пустой элемент, появляющийся в ListView
Я проверил строки списка, содержащие правильную информацию, используя следующий код после приостановки приложения в отладчике. Ничто на выходе не отображается пустым или нулевым и т. Д.
for (int i = 0; i<list.getChildCount(); i++) {
System.out.print((TextView) list.getChildAt(i)).getText());
}
Это показывает информацию, которую я ожидал.
Я также проверил данные резервной мой адаптера для пустых записей, новых линий и т.д.
методаМоего GetView() внутри адаптера заключается в следующем:
@Override
public View getView(int position, View convertView, ViewGroup parent) {
TextView t;
if (convertView == null) {
convertView = mInflator.inflate(R.layout.single_message_row, null);
t = (TextView) convertView;
t.setMovementMethod(LinkMovementMethod.getInstance());
t.setTextSize(mMsgSize);
}
else {
t = (TextView) convertView;
}
CharSequence text = get(position);
t.setText(text);
return t;
}
Ниже приводится изображение, демонстрирующее проблема (закрашенная область):
Уверены ли вы, что там нет никаких возвратов строк? как в texttext \ n \ n \ n \ n \ n .. Это вызовет вашу проблему .. Ваш адаптер выглядит нормально – dymmeh
Почему вы просто не вызываете 'text.toString(). trim()'? – waqaslam
dymmeh: Да, я уверен. Сообщения поступают с сервера, и я явно воздерживаюсь от добавления \ n до конца, поскольку нет необходимости. Вака: Потому что это удалит цвета текста –