0

以下は、AlertDialogの私のコードです。

AlertDialog.Builder alertDialog = new AlertDialog.Builder(mContext);
alertDialog.setTitle("GPS settings");
alertDialog.setMessage("GPS is not enabled. Do you want to go to settings menu?");
alertDialog.setPositiveButton("Settings", new DialogInterface.OnClickListener() {
       public void onClick(DialogInterface dialog,int which) {
        Intent intent = new Intent(Settings.ACTION_LOCATION_SOURCE_SETTINGS);
        mContext.startActivity(intent);
       }
 });

alertDialog.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
      public void onClick(DialogInterface dialog, int which) {
       dialog.cancel();
       }
   });
alertDialog.show();

@Override
protected void onPause() {
    super.onPause();
 // I want dialog to be dismissed here

}

正常に動作していますが、アクティビティの onPause メソッドでダイアログを閉じたいのですが、
どうすれば達成できますか?

4

3 に答える 3

1

これをonPause

alertDialogforGPS.dismiss();

編集:

AlertDialog.Builder builder;

builder = new AlertDialog.Builder(WelcomeActivity.this).setTitle("Title")
.setMessage("Message")
.setPositiveButton("YES", new DialogInterface.OnClickListener() {
    public void onClick(DialogInterface dialog,int which) {
        //your code
    }
})
.setNegativeButton("NO", new DialogInterface.OnClickListener() {
    public void onClick(DialogInterface dialog, int which) {
        dialog.cancel();
    }
});
AlertDialog dialog = builder.create();
dialog.show();

そして、onPause

dialog.dismiss();
于 2014-11-21T06:34:25.940 に答える
0

これを試して..

グローバル変数を宣言します..

AlertDialog.Builder alertDialog;

必要なときに定義してアクセスします。

alertDialog = new AlertDialog.Builder(mContext);
alertDialog.setTitle("GPS settings");
alertDialog.setMessage("GPS is not enabled. Do you want to go to settings menu?");
alertDialog.setPositiveButton("Settings", new DialogInterface.OnClickListener() {
       public void onClick(DialogInterface dialog,int which) {
        Intent intent = new Intent(Settings.ACTION_LOCATION_SOURCE_SETTINGS);
       dialog.dismiss(); // NOTE : dismiss dialog before moving to other activity.. it will prevent causing exception... 
        mContext.startActivity(intent);
       }
 });

alertDialog.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
      public void onClick(DialogInterface dialog, int which) {
       dialog.dismiss();
       }
   });

他のメソッドで変数にアクセスする..

@Override
protected void onPause(){
    //checking for null variable
    if(alertDialog != null)
        alertDialog.dismiss();
    }
}
于 2014-11-21T06:36:09.047 に答える