我正在开发一款应用程序,要求我在按下按钮后下载图像。我打算使用AsyncTask,直到我发现你只能调用一次特定的AsyncTask。我应该使用什么,以便我仍然可以使用Progress Dialog等等,但仍然按下按钮?
按下按钮,传入一个int
class ImageDownloader
extends AsyncTask<Integer, Integer, Bitmap> {
protected void onPreExecute(){
launchDialog();
}
@Override
protected Bitmap doInBackground(Integer... params) {
//TODO Auto-generated method stub
try{
//finding and downloading an image, and passing back the proper bitmap to the onPostExecute
}catch(Exception e){
Log.e("Image", "Failed to load image", e);
}
return null;
}
protected void onProgressUpdate(Integer... params){
}
protected void onPostExecute(Bitmap img){
ImageView iv = (ImageView) findViewById(R.id.imageView);
if(iv!=null && img!=null){
iv.setImageBitmap(img);
new PhotoViewAttacher(iv);
}
closeDialog();
enablebuttons();
}
protected void onCancelled(){
closeDialog();
enablebuttons();
}
}
提前致谢!
答案 0 :(得分:1)
每次只需在点击处理程序中创建AsyncTask
的新实例并运行它(而不是一遍又一遍地执行单个实例)。