Прокрутка TextView сбрасывается, когда я обновляю другой TextView из той же строки ListView

У меня есть список, и для определенного элемента я обновляю оставшееся время каждую секунду. Он работает нормально, но у меня есть небольшая ошибка. Всякий раз, когда я звоню

duration.setText(newRemainingValue);

для обновления значения затрагивается другой textView из той же строки. Этот другой текстVewi отображает текст с прокруткой

title.setSelected(true);
title.setEllipsize(TruncateAt.MARQUEE);

и всякий раз, когда я меняю 1-е значение textView, второе сбрасывает прокрутку и начинает прокрутку с самого начала. Похоже, эта проблема возникает только тогда, когда я делаю это в ListView.

Любая идея, как это исправить?


person user1026605    schedule 03.02.2015    source источник
comment
не могли бы вы опубликовать свой код   -  person mohammed momn    schedule 03.02.2015
comment
Выложил полезный код с переходника. По сути, я просто хочу знать, является ли это ошибкой Android и есть ли обходной путь для этой проблемы.   -  person user1026605    schedule 03.02.2015


Ответы (1)


Похоже, для текстовых представлений установлено значение wrap_content. Это вызовет проход макета всякий раз, когда текст будет изменен. Попробуйте использовать match_parent или установите ширину и высоту на фиксированное значение, чтобы изменение текста не запускало проход макета.

person dangVarmit    schedule 03.02.2015
comment
Вы совершенно правы! Установка фиксированной ширины для TextView, который я обновляю, устранила проблему. Большое спасибо ! Есть ли какой-нибудь другой способ предотвратить это, если я сохраняю ширину wrap_content? Может быть, создав подкласс TextView и переопределив какую-то функцию? - person user1026605; 03.02.2015
comment
Это действительно полезно. Вы спасли мою жизнь. Спасибо. - person Janaki; 08.08.2017