2013-07-31 11 views
5

ListView öğesinde görünümler için bir çeşit OnVisibilyChangeListener olup olmadığını merak ettim, çünkü bir ListView öğesinin görünürlüğünü her değiştirdiğinde bir yöntem kullanmak istiyorum.Bir ListView öğesi görünür olduğunda veya görünmediğinde bir olay alın

Görünümün görünüp görünmeyeceğini kontrol etmek için OnPreDrawListener'ı biliyorum. Ancak görünümün görünen ekran bölgesinden kaybolacağını nasıl kontrol edebilirim?

cevap

10

ListView için OnScrollListener uygulayabilir ve onScrollStateChanged(AbsListView view, int scrollState) ve onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) geçersiz kılınabilir ve görünür olan ListView öğesini alabilirsiniz.

onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount), firstVisibleItem ve visibleItemCount değerlerini kullanarak hangi ListView satırının görülebildiğini bilmenize yardımcı olacak yöntemdir.

+7

bu, ancak görüntünün% 100 görünür olup olmadığını belirlemenin kolay bir yolu var mı?, Öğenin 1px satırı ekranda görülebilir ve öğenin çoğu gizlenmiş olsa bile ilk ve son görünür öğeler çalışır Belirli bir öğenin ekranda% 100 olup olmadığını anlamanın bir yolu var mı? – Roberto

İlgili konular