放置ProgressDialog以创建加载的位置

时间:2012-06-23 07:10:35

标签: android loading progressdialog

嘿我想在我的应用程序中使用ProgressDialog显示加载进度,但我很困惑在哪里放置它...这是我的代码的ilustration ...创建灰度图像的代码...

public void but_gray(View v){
    ProgressDialog prog = ProgressDialog.show(this, "", "tesLoading",true);
    bmp = grayscale(bmp);
    prog.dismiss;

}

这是我的代码,但是当我运行代码时,不显示进度dalog ... 单击灰度按钮时,but_gray是一个函数... bmp是一个位图变量.. grayscale()是一个创建灰度图像的函数......

任何人都可以给我解决方案

1 个答案:

答案 0 :(得分:1)

只需像<,p>那样创建asynctask

  class Background_task extends AsyncTask<Void, Void, Void>
  {
  ProgressDialog progressDialog;
   @Override
    protected void onPreExecute() 
    {
        super.onPreExecute();
        progressDialog = ProgressDialog.show(DisplayBooksView.this, null, "Loading..."); 
    }

    @Override
    protected Void doInBackground(Void... params) 
    {
        bmp = grayscale(bmp);
        return null;
    }

    @Override
    protected void onPostExecute(Void result) 
    {
        super.onPostExecute(result);
        progressDialog.dismiss();
    }
}

然后在你的函数中调用这个asynctask,如

    public void but_gray(View v){
          new Background_task().execute();
    }

它会正常工作.....