2013-07-31 11 views
5

Zastanawiam się, czy istnieje jakiś OnVisibilyChangeListener dla widoków w ListView, ponieważ chciałbym mieć metodę o nazwie za każdym razem, gdy element ListView zmienić jego widoczność.Zdobądź zdarzenie, gdy element ListView jest widoczny lub nie

Wiem o OnPreDrawListener, aby sprawdzić, czy widok będzie widoczny. Ale jak mogę sprawdzić, czy widok zostanie przewinięty z widocznego obszaru ekranu?

Odpowiedz

10

Można wdrożyć OnScrollListener dla ListView i zastąpić onScrollStateChanged(AbsListView view, int scrollState) i onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) i uzyskać widoczną pozycję ListView.

onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) to metoda, która pomoże Ci sprawdzić, który wiersz ListView jest widoczny, używając wartości firstVisibleItem i visibleItemCount.

+7

to działa, ale czy istnieje prosty sposób sprawdzenia, czy widok jest w 100% widoczny ?, pierwsze i ostatnie widoczne elementy działają, nawet jeśli wiersz 1 elementu jest widoczny na ekranie, a większość elementu jest ukryta, czy istnieje sposób na sprawdzenie, czy dany przedmiot jest w 100% na ekranie? – Roberto

Powiązane problemy