SORU
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

  1. Kaydırma yavaşlar
  2. 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ş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • bobinire

    bobinire

    24 EYLÜL 2006
  • oHeymarvin

    oHeymarvin

    11 Temmuz 2013
  • Ralph Phillips

    Ralph Philli

    5 Aralık 2006