0

何かを計算するために Asynctask を実装することができましたが、doInBackground の実行中に進行状況ダイアログも表示したいと考えています。

これまでの私のコードは次のとおりです。

    protected void onPreExecute() {

    this.dialog.setMessage("Please wait");
    this.dialog.show(); 

    }

    protected Integer doInBackground(Void... b) {

            ........

     return price;

    }

    protected void onPostExecute(Integer price) {

    if(dialog.isShowing()) {
        dialog.dismiss();
    }

    Toast.makeText(_ctx, price, Toast.LENGTH_LONG).show();

    }

デバッガーを実行すると、ダイアログに次のものが含まれていると表示されますNULL

ここで何が間違っていますか?前もって感謝します

4

3 に答える 3

3

dialog(例dialog = new ProgressDialog(_ctx));をインスタンス化する必要があります。

于 2012-04-04T13:28:39.023 に答える
0

thistryを使用する代わりにgetApplicationContext();

于 2012-04-04T13:29:58.833 に答える
0

Replace 'this.dailog' in onPreExecute() with your 'ActivityClassname.this'. Because the dialogbox is on your activity context but here 'this' refers to your class that extends AsyncTask class.

于 2012-04-04T13:32:35.153 に答える