SORU
28 HAZİRAN 2010, PAZARTESİ


Android, Liste Görünümü İllegalStateException: "bağdaştırıcı içeriği değişti ama Liste Görünümü bildirim bir " kabul etmedi.

Ne ben yapmak istiyorum: Liste Görünümü içeriğini hesaplayan bir arka plan iş parçacığı çalıştırmak ve sonuçları hesaplanmış olsa da Liste Görünümü kısmen güncelleştirin.

Ben biliyorum ne önlemek için: AsyncTask bana miras kaldı ve sonuç (adaptör giriş eklemek) yayımlamak onProgressUpdate çok arka plan iş parçacığı ListAdapter içeriği ile berbat edemem. Benim Adaptör sonuç nesnelerin ArrayList kullanır, bu arraylists işlemleri eşitlenir.

Diğer insanların araştırmaçok değerli here Veri yok. Ben de ~500 kullanıcı grubu için neredeyse her gün çöküyor yaşadı ve onProgressUpdate list.setVisibility(GONE)/trackList.setVisibility(VISIBLE) blok eklediğim zaman, çöküyor 10 kat ama kayboldu indirdi. (answer ileri sürülüyordu )

Bazen bende ne varlütfen dikkat edin, çok nadiren (bir zamanlar 3.5 k kullanıcılardan biri için bir hafta) olur. Ama bu hata tamamen kurtulmak istiyorum. Burada kısmi stacktrace:

`java.lang.IllegalStateException:` The content of the adapter has changed but ListView  did not receive a notification. Make sure the content of your adapter is not modified from a background thread, but only from the UI thread. [in ListView(2131296334, class android.widget.ListView) with Adapter(class com.transportoid.Tracks.TrackListAdapter)]
at android.widget.ListView.layoutChildren(ListView.java:1432)
at android.widget.AbsListView.onTouchEvent(AbsListView.java:2062)
at android.widget.ListView.onTouchEvent(ListView.java:3234)
at android.view.View.dispatchTouchEvent(View.java:3709)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:852)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:884)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:884)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:884)
[...]

Yardım?Artık gerekli değil, aşağıya bakın

SON CEVAP:Meğerse, notifyDataSetChanged Her 5 eklemeler titreme ve ani bir liste değişiklikleri önlemek için aradım. Olamaz böyle bir şekilde yapılması, temel listesi değiştiğinde adaptör haberdar olmak her zaman. Bu hata uzun benim için artık yok.

CEVAP
15 HAZİRAN 2011, ÇARŞAMBA


Ben de aynı sorun vardı.

ArrayList UI dışında benim konuya öğeler ekleme yaptım.

Ben de 5* *ve UI iş parçacığı notifyDataSetChanged() denir ve bu çözüldü.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • AmeriiK_HD

    AmeriiK_HD

    16 AĞUSTOS 2012
  • TheDroidDemos

    TheDroidDemo

    15 ŞUBAT 2011
  • TheMasterOfHell100

    TheMasterOfH

    13 AĞUSTOS 2011