2013-07-31 109 views
5

我想知道在ListView中是否存在某種類型的OnVisibilyChangeListener視圖,因爲我希望在每次ListView項目更改其可見性時調用該方法。當ListView項目可見或不可見時獲取事件

我知道OnPreDrawListener來檢查視圖是否可見。但是,我如何檢查視圖是否滾動出可視屏幕區域?

回答

10

您可以實現ListView的OnScrollListener並覆蓋onScrollStateChanged(AbsListView view, int scrollState)onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount)並獲取可見的ListView項目。

onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount)是通過使用值firstVisibleItemvisibleItemCount將幫助您知道哪一行ListView可見的方法。

+7

這有效,但有沒有一種簡單的方法來確定視圖是否100%可見?,第一個和最後一個可見項目工作,即使該項目的1px行在屏幕中可見並且大部分項目被隱藏,有一種方法可以判斷某個特定物品是否100%在屏幕上? – Roberto