2013-07-31 3 views
5

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

Я знаю о OnPreDrawListener, чтобы проверить, будет ли вид видимым. Но как я могу проверить, прокручивается ли представление из видимой области экрана?

ответ

10

Вы можете реализовать OnScrollListener для ListView и переопределить onScrollStateChanged(AbsListView view, int scrollState) и onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) и получить элемент ListView, который будет виден.

onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) - это метод, который поможет вам узнать, какая строка ListView видна с использованием значений firstVisibleItem и visibleItemCount.

+7

это работает, но есть ли простой способ определить, является ли вид на 100% видимым ?, первый и последний видимые элементы работают, даже если 1px строка элемента видна на экране, а большая часть элемента скрыта, есть способ узнать, является ли конкретный элемент 100% на экране? – Roberto

Смежные вопросы