2 znl 12 znl_12 于 2013.06.27 13:05 提问

加载图像来显示加载的进度

我使用下面的函数来显示图像:

Bitmap imageBitmap = loadBitmap(URL);

loadBitmap()如下:

private Bitmap loadBitmap(String url) {
try {
Bitmap bm = BitmapFactory.decodeStream((InputStream)this.fetch(url));
return bm;
}
catch(Exception e) {
e.printStackTrace();
return null;
}
}

fetch() :

public Object fetch(String address) {
try {
URL url = new URL(address);
Object content = url.getContent();
return content;
}
catch(Exception e) {
e.printStackTrace();
}
return this;
}

在加载的时候我想显示加载进度或一个 load.png。并且在图像加载结束时候显示。如何实现? 我想创建函数 ProgressDialog,但是如何使用呢?

3个回答

ssummeraw
ssummeraw   2013.06.27 15:56
已采纳

你可以使用 AsyncTask 在 PreExecute() 方法中显示 Progress Dialog,然后在 PostExecute() 方法中隐藏。

ProgressDialog prog = new ProgressDialog(this); // Create Progress Dialog
private class DownloadBitmap extends AsyncTask<Void, Integer, Void>{
    @Override
    protected void onPreExecute() {
        // TODO Auto-generated method stub
        super.onPreExecute();
        //Display progressDialog before download starts
        prog.show();
    }
    @Override
    protected void onPostExecute(Void result) {
        // TODO Auto-generated method stub
        super.onPostExecute(result);
        prog.hide(); //Hide Progress Dialog else use dismiss() to dismiss the dialog
    }
    @Override
    protected Void doInBackground(Void... params) {
        // TODO Auto-generated method stub
        /*
         * Perform download and Bitmap conversion here
         * 
         */
        return null;
    }
}

再通过下面代码来调用 AsyncTask。

DownloadBitmap dd = new DownloadBitmap();
dd.execute();
u011224046
u011224046   2013.06.27 13:33

fetch先写,执行完结束后让load.png消失或者dialog消失
然后在BitmapFactory.decode

Jave_
Jave_   2013.06.27 13:21

fetch先写,执行完结束后让load.png消失或者dialog消失
然后在BitmapFactory.decode.....

Csdn user default icon
上传中...
上传图片
插入图片