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

  • BaaaStuds's channel

    BaaaStuds's

    10 Mart 2009
  • Stevie

    Stevie

    2 Mayıs 2010
  • The Dubstep FX

    The Dubstep

    5 Mart 2011