0

ねえ、アプリケーションでロードの進行状況を表示したいのですProgressDialogが、どこに配置すればよいかわかりません...これが私のコードのイラストです...グレースケール画像を作成するコード...

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

}

それは私のコードですが、コードを実行すると進行状況が表示されません... 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();
    }
}

次に、関数でこの asynctask を次のように呼び出します。

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

それはうまくいきます.....

于 2012-06-23T07:57:29.543 に答える