显示ProgressDialog时,不会触发onBackPressed()

| 我已经尝试了许多显示when1ѭ时触发
backPressed
()事件的方法。但是没有办法。如果我提供
progDialog.setcancelable(true);
,则可以解开
progressDialog
,但仍不会触发
onBackPressed
()。     
已邀请:
        如果您要按回退键执行自己的操作,则在ProgressDialog处于活动状态时,必须将progressdialog设置为5。 在
onCancel()
方法示例中编写逻辑,您在onBackPressed()事件中编写的所有逻辑都必须在此处编写。 样例代码
import android.app.Activity;

import android.app.ProgressDialog;
import android.content.DialogInterface;
import android.content.DialogInterface.OnCancelListener;

import android.os.Bundle;

import android.view.KeyEvent;
import android.view.View;

import android.view.View.OnClickListener;

import android.widget.Button;

public class CancelProgressDialog extends Activity {

    ProgressDialog myProgressDialog = null;

    @Override
    public void onCreate(Bundle icicle) {

        super.onCreate(icicle);

        /* Create a very simple button */

        Button b = new Button(this);

        this.setContentView(b);

        b.setText(\"Show ProgressBar...\");

        b.setOnClickListener(myProgressBarShower);

    }


    @Override
    public boolean onKeyDown(int keyCode, KeyEvent event) {
        // TODO Auto-generated method stub
        System.out.println(\"...any key is pressed....\");
        if (keyCode == KeyEvent.KEYCODE_BACK)
        {
            System.out.println(\"...BackButton is pressed...\");
            if( (myProgressDialog!= null) && myProgressDialog.isShowing()){
                myProgressDialog.dismiss();
            }
        }
        return super.onKeyDown(keyCode, event);
    }

    /** OnClickListener that fakes some work to be done. */

    OnClickListener myProgressBarShower = new OnClickListener() {

        // @Override

        public void onClick(View arg0) {

            // Display an indeterminate Progress-Dialog

            myProgressDialog = ProgressDialog.show(CancelProgressDialog.this,

            \"Please wait...\", \"Doing Extreme Calculations...\", true);
            myProgressDialog.setOnCancelListener(new OnCancelListener() {

                public void onCancel(DialogInterface arg0) {
                    // TODO Auto-generated method stub
                    System.out.println(\"...cancel button is pressed\");
//                  perform your task here
                }
            });
            myProgressDialog.setCancelable(true);



        }



    };

}
谢谢 迪帕克     

要回复问题请先登录注册