カスタムアダプターの getview メソッドから実行される画像のダウンロードには Asynctask を使用しました。このカスタム アダプタはリストビューに設定されていますが、リストビューには何も表示されません。メインアクティビティからプログレスバーをクリックしたときにリストビューを表示したいのですが、何が問題なのですか? 誰でも私を助けてください。私のコードは次のようなものです: @Override public View getView(int position, View convertView, ViewGroup parent) {
inflater = (LayoutInflater) getSystemService(LAYOUT_INFLATER_SERVICE);
if (convertView == null){
convertView = inflater.inflate(R.layout.show_image, null);
imageview = (ImageView) convertView.findViewById(R.id.imageview);
convertView.setTag(imageview);
new DownloadTask().execute(images.get(position), imageview);
}
return convertView;
}
}
private class DownloadTask extends AsyncTask<Object, Integer, Bitmap>{
ImageView iv;
@Override
protected Bitmap doInBackground(Object... params) {
String url = (String) params[0];
iv = (ImageView) params[1];
Bitmap bmap = null;
try {
bmap = getBitmap(url);
} catch (IOException e) {
e.printStackTrace();
}
return bmap;
}
public Bitmap getBitmap(String urlstring) throws IOException{
URL _url = new URL(urlstring);
HttpURLConnection connection = (HttpURLConnection) _url.openConnection();
InputStream stream = connection.getInputStream();
Bitmap bitmap = BitmapFactory.decodeStream(stream);
return bitmap;
}
@Override
protected void onPostExecute(Bitmap result) {
super.onPostExecute(result);
iv.setImageBitmap(result);
}
progress.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
progress.setVisibility(progress.GONE);
adapter = new ImageAdapter(getApplicationContext(), R.layout.show_image,imagenames);
listview.setAdapter(adapter);
adapter.notifyDataSetChanged();
}
});