Internet'ten görüntü alıp kullanıcı arabiriminde gösterilen bir android uygulaması üzerinde çalışıyorum. Resmi göstermek için RecyclerView kullanıyorum. Görüntüyü ayrı bir iş parçacığı kullanarak indirmeyi planlıyorum. ve işleyici aracılığıyla RecyclerView'ı güncelleyin. Bu kavram doğru ya da değil, Ben de bu idamİşleyiciyi UI'ye İletmek İçin Kullanın
private void loadNewsThumbnailImage(ArrayList<DataItem> dataList) {
for (DataItem item : DataList) { //DataItem is the model class
loadThumbnailFromInternet(item);
}
}
private void loadThumbnailFromInternet(final DataItem dataItem) {
Thread imageDowloaderThread = new Thread(new Runnable() {
@Override
public void run() {
Bitmap bitmap = null;
try {
bitmap = getDataItemBitmap(dataItem.getmImageUrl());
dataItem.setmThumbnail(bitmap);
new Handler().post(new Runnable() { // Tried new Handler(Looper.myLopper()) also
@Override
public void run() {
mAdapter.notifyDataSetChanged();
}
});
} catch (IOException e) {
e.printStackTrace();
}
}
});
imageDowloaderThread.start();
}
altında aynı için kodlanmış (I AsyncTask biliyorum ama amacını öğrenmek için ben Handler uygulamak çalışıyorum.) Hava ben bilmiyorum kod ama hata alıyorum ve uygulama sonlandırıldı, bunun neden olduğunu bilmiyorum. lütfen herhangi biri bana yardım etmek için yardım edin. ve mevcut kod için problemin ne olduğunu açıklar.
(AsyncTask kullanmayı önermiyoruz Lütfen (Ben denedim ve gayet iyi çalışıyor))
GÜNCELLEME
alınırken hata: java.lang.RuntimeException: Can't create handler inside thread that has not called Looper.prepare()
iyi geliyor qn – droidev