嘿我想在我的应用程序中使用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()是一个创建灰度图像的函数......
任何人都可以给我解决方案
答案 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();
}
它会正常工作.....