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

  • khloe brooks

    khloe brooks

    25 Temmuz 2011
  • PlugResearch

    PlugResearch

    22 Mart 2006
  • VOICE TV

    VOICE TV

    2 Aralık 2010