Doğrudan veri kaynağında değişiklik yapmaya çalışıyorum ve herhangi bir değişikliğin adaptörünü uyarıyorum. Ama addAll() listemi güncellemiyor. Kodumda her şey yolunda gibi görünüyor, ama çalışma sırasında değil. Lütfen kodu düzeltmeme yardım edin. Şimdiden teşekkür ederim. Eğer pgs.clear()
çağırdığınızdaListe <String> addAll() yöntemi eklenmiyor
List<String> tmppgs = pgs;
Dolayısıyla, tek bir listede olduğunu boşaltıyor:
List<String> pgs = myClass.getPgs();
List<String> tmppgs = pgs;
/*
.
lots of code for string processing which results in >> String content for each i
.
*/
for (int i = 0; i < tmppgs.size(); i++) {
tmppgs.set(i, content);
}
Toast.makeText(getActivity(),String.valueOf(tmppgs.size()), Toast.LENGTH_LONG).show();
// Toast shows desired result which is OK.
pgs.clear();
pgs.addAll(tmppgs);
Toast.makeText(getActivity(),String.valueOf(pgs.size()), Toast.LENGTH_LONG).show();
//Unexpectedly shows zero
mAdapter.notifyDataSetChanged();
}
'tmppgs == pgs'. İkisini de temizliyorsun. – Marvin
Hayır, ilk kızarmış ekmek doğru sonuçları gösterir. Sorun pgs.clear() 'dan başlıyor. – infiniteLoop
Sadece bir tahmin, Listeyi denediniz mi? tmppgs = new ArrayList (pgs); ? –