0

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

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

}

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

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

4

1 回答 1

1

只需创建 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();
    }
}

然后在你的函数中调用这个异步任务,比如,

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

它会工作正常......

于 2012-06-23T07:57:29.543 回答