2013-07-31 5 views
5

ListViewアイテムが可視性を変更するたびに呼び出されるメソッドを持つため、ListViewのビューのOnVisibilyChangeListenerがあるかどうか疑問に思っていました。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)は、firstVisibleItemvisibleItemCountという値を使用して、ListViewのどの行が表示されているかを知るのに役立つ方法です。

+7

これは機能しますが、ビューが100%表示されているかどうかを簡単に判断できます。最初と最後の表示アイテムは、アイテムの1ピクセル行が表示され、アイテムのほとんどが隠されていても機能します。特定のアイテムが画面上に100%表示されているかどうかを確認する方法はありますか? – Roberto

関連する問題