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

  • Film Riot

    Film Riot

    16 NİSAN 2006
  • Fullscreen

    Fullscreen

    23 Mart 2006
  • GenTechPC

    GenTechPC

    1 Temmuz 2007