16 EYLÜL 2010, PERŞEMBE
Nasıl bir liste Görünümü tek bir satır güncelleyebilir miyim?
Haber görüntüler ListView
var. Bir resim, bir başlık ve bir metin içerir. Görüntü ayrı bir iş parçacığı yüklenir (sırası ile) ve görüntü yüklendiğinde, ben şimdi listede notifyDataSetChanged()
görüntüyü güncellemek için adaptör arayın. Bu çalışır, ama getView()
notifyDataSetChanged()
tüm görünür öğeleri için getView()
aramalar beri çok sık aradı, oluyor. Listede sadece tek bir öğeyi güncellemek istiyorum. Bunu nasıl yaparım?
Benim şimdiki yaklaşım ile sorunları var
- Kaydırma yavaşlar
- Listedeki tek yeni bir resim yüklendiğinde her zaman olmuyor görüntü fade-in animasyon var.
CEVAP
16 EYLÜL 2010, PERŞEMBE
Cevabı buldum, bilgi için teşekkürler Michelle.
Gerçekten doğru görüntüleme View#getChildAt(int index)
. Catch ilk görünür öğe saymaya başlar. Aslında, yalnızca görünen öğeleri alabilirsiniz. ListView#getFirstVisiblePosition()
ile bunu çözmek.
Örnek:
private void updateView(int index){
View v = yourListView.getChildAt(index -
yourListView.getFirstVisiblePosition());
if(v == null)
return;
TextView someText = (TextView) v.findViewById(R.id.sometextview);
someText.setText("Hi! I updated you manually!");
}
Bunu Paylaş:
Nasıl çökmeden bir ScrollView içine bi...
Nasıl Yanı ya da Android Liste Görünüm...
Nasıl bir liste görünümü tarayıcısı üz...
Nasıl (şap) Python bir satır kaldırabi...
Nasıl bir kullanıcı bir liste öğesi üz...