Android: bir liste Görünümü çocuk görünümleri Erişim
Görüntülenen bir liste içinde bir öğenin piksel konumunu öğrenmek için ListView
kullanma ihtiyacım var. Eğer bir tane de ben alayım gibi görünüyorTextViewve sonra getTop()
kullanın ama ListView
bir çocuk bir görünüm elde etmek için nasıl çözemiyorum.
Güncelleme:ViewGroup
çocukları ListView
için listedeki öğeleri ile 1-1 bağdaşmıyor. Bunun yerine, ViewGroup
'nin çocukları tarafından görünen bu görüşlere karşılık şu anda. getChildAt()
ViewGroup
dahili bir dizin üzerinde çalışır ve mutlaka ListView
kullanan listedeki konumu ile bir ilgisi yok.
CEVAP
Bakın: Android ListView: get data index of visible item ve Ayak parçası ile birleştirmek gibi bir şey verebilir yukarıda cevabı:
int wantedPosition = 10; // Whatever position you're looking for
int firstPosition = listView.getFirstVisiblePosition() - listView.getHeaderViewsCount(); // This is the same as child #0
int wantedChild = wantedPosition - firstPosition;
// Say, first visible position is 8, you want position 10, wantedChild will now be 2
// So that means your view is child #2 in the ViewGroup:
if (wantedChild < 0 || wantedChild >= listView.getChildCount()) {
Log.w(TAG, "Unable to get view for desired position, because it's not being displayed on screen.");
return;
}
// Could also check if wantedPosition is between listView.getFirstVisiblePosition() and listView.getLastVisiblePosition() instead.
View wantedView = listView.getChildAt(wantedChild);
Yararı bir performans isabet sürebilir Liste Görünümü çocukları, üzerinden yineleme değil.
Liste görünümü getListİtemXmlAttribute...
Nasıl Android Liste Görünümü ayırıcı ç...
Nasıl Android liste görünümü yenilemek...
Android: liste görünümü tıklatın devre...
Liste görünümü Öğeleri arasındaki boşl...