Mam problemy z zaimplementowaniem asynchronicznego programu ładującego obrazy do następującego kodu. Czytałem kilka postów w internecie na ten temat i myślę, że rozumiem logikę stojącą za tym, ale wydaje mi się, że nie udało mi się go wdrożyć.Asynchroniczny program ładujący obraz w widoku listy [Android]
Poniższy kod służy do ładowania obrazów w widoku listy.
public class MyCustomAdapter extends ArrayAdapter<RSSItem> {
Bitmap bm;
public MyCustomAdapter(Context context, int textViewResourceId, List<RSSItem> list) {
super(context, textViewResourceId, list);
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
// TODO Auto-generated method stub
BitmapFactory.Options bmOptions;
bmOptions = new BitmapFactory.Options();
bmOptions.inSampleSize = 1;
bm = LoadImage(myRssFeed.getList().get(position).getDescription(), bmOptions);
View row = convertView;
if(row == null) {
LayoutInflater inflater = getLayoutInflater();
row = inflater.inflate(R.layout.rsslist, parent, false);
}
TextView listTitle = (TextView)row.findViewById(R.id.listtitle);
listTitle.setText(myRssFeed.getList().get(position).getTitle());
ImageView listDescription = (ImageView)row.findViewById(R.id.listdescription);
listDescription.setImageBitmap(bm);
TextView listPubdate = (TextView)row.findViewById(R.id.listpubdate);
listPubdate.setText(myRssFeed.getList().get(position).getPubdate());
return row;
}
}
Och, to naprawdę pomocne! Dziękuję Ci za to. Sprawdzę to od razu. – thpoul
Twój kod działa naprawdę dobrze, gdy uruchamiam go w kompilatorze i robię dokładnie to, co robię. Niestety. Nie mogę go wdrożyć w moim projekcie czytnika rss. Byłbym bardzo wdzięczny za to. Z góry dziękuję. – thpoul
Możesz użyć LazyAdapter tak jak jest. Po prostu przekazuj do niego tablicę adresów URL. I podaj R.layout.rsslist w getView R.layout.item. Powinien działać po tym. – Fedor