Ekranda daha çok öğe bulunan bir SimpleAdapter
ile oluşturulmuş bir Android ListView
var. Liste kaydırıldıktan sonra listedeki ilk görünür öğenin veri modelindeki konumu almam gerekir.Android ListView: Görünür öğenin veri dizinini al
Temel olarak aşağıdaki gibi bir işlev istiyorum: listView.getChildAt(0).getPositionInDataModel()
. Yararlı görünen getItemId(position)
gibi bir kaç işlevi vardır;
ancak, SimpleAdapter
uygulaması, umduğum gibi bir satır kimliği değil, yalnızca iletilen konumu döndürür.
Kaba bir güç çözümü Görünümü 0 dizininde almak ve bağdaştırıcıdaki her öğeye ait görünümle karşılaştırmak olacaktır. Ancak, adaptörden belirli bir konum için görünümü elde etmenin kolay bir yolu yoktur.
Herhangi bir fikri olan var mı?
Vay, bunu kaçırdığına inanamıyorum. Böyle bir işlev için her yere bakıyordum. Beklemediğim bir üst sınıfta tanımlandığı için olmalı. Hala bu javadoc stiline alışmak ... İşaretlediğiniz için teşekkürler! –
@RomainGuy, ListView performansımı kaydettiniz ... –
Gridview'ımda getFirstVisiblePosition() ve getLastVisiblePosition() arasındaki görünümlerin bazıları sıfırdır. Görüşleri geri dönüştürüyorum - sebebi bu mu? Özellikle görsel olarak göremediğimi görebildiğimden, görünür görünümlerin null olmamasını garanti ederim. – Laurent