私はリストビュー、画像とテキストを表示するリストビューを開発しました。最初に画像とテキストフォームのWebサービスをダウンロードしてから表示する必要があります。時間がかかるため、最初にリストビューでテキストをバインドして使用するAsyncTask
と、画像をダウンロードするとすぐに画像が表示されます。アクティビティのバックグラウンドでリストビューに表示されますが、コーディングを行ってからすべての画像をダウンロードしてから、画像とテキストの両方をバインドすることはできません(この場合、startDownloadの前にリストビューを2回バインドする必要があります画像とダウンロード後2枚目の画像ですので、何かアイデアがあれば教えてください。
コード
public class LoadImg extends AsyncTask<String, Void, Bitmap> {
Context context;
String img;
InputStream is = null;
Bitmap bitmap = null;
public LoadImg(Context context, String img) {
// TODO Auto-generated constructor stub
this.context = context;
this.img = img;
}
@Override
protected Bitmap doInBackground(String... params) {
// TODO Auto-generated method stub
Bitmap bitmap = downImg();
System.out
.println("Value of bitmap====================================="
+ bitmap);
return bitmap;
}
private Bitmap downImg() {
// TODO Auto-generated method stub
Bitmap bitmap = null;
if (img == null) {
bitmap = null;
} else {
URL url = null;
try {
url = new URL(img);
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
URLConnection connection = null;
try {
connection = url.openConnection();
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
try {
is = connection.getInputStream();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
bitmap = BitmapFactory.decodeStream(is);
System.out.println("TV Image===" + bitmap);
}
return bitmap;
}
}