У меня есть RelativeLayout
над моей ListView
, и я ожидал TextView
на этом макете, чтобы изменяться в зависимости от содержания первого видимого элемента в ListView
. Поэтому я использую onScrollListener
с моим списком:ListView не прокручивается плавно при попытке использовать SetText в OnScroll
@Override
public void onScroll(AbsListView view, int firstVisibleItem,
int visibleItemCount, int totalItemCount) {
if (adapter != null && adapter.getCount() > 0) {
Transaction data = (Transaction) adapter.getItem(firstVisbileItem);
Date date = data.getTransactionDate();
date.setActualDate(date.getActualDate());
String month = date.getMonthString(context);
String year = date.getYear() + "";
tvLeftValue.setText(month);
tvRightValue.setText(year);
}
}
Это просто очень странно, что, когда я использую это, список прокручивается очень медленно, но когда я попытался использовать setText("")
как для TextView
, список прокручивается плавно, как обычно. Эта проблема возникает, когда я тестирую на реальном устройстве (Galaxy S3), а не на эмуляторе Genymotion. Почему может возникнуть такая странная проблема? Есть ли возможное решение? Если кто-либо из вас когда-либо сталкивался с этим, пожалуйста, помогите мне и заблаговременно.
EDIT: На самом деле это также происходит в эмуляторе Genymotion, это просто быстрее, чем в реальных устройствах, поэтому я думал, что этого не произошло.
у вас есть разрешение для этого или найти обход? – Dittimon
@Dittimon на самом деле я не нашел ничего хорошего для этого, поэтому мне пришлось переключиться на использование [Amazing ListView] (https://code.google.com/p/android-amazing-listview/), чтобы заголовки разделов для моего списка. –
Возможно, вы слишком часто устанавливаете этот способ и вызывают ненужные перерисовки. Возможно, это не сработает, но вы можете попробовать установить текст только в том случае, если он изменился. –