0

在主活动内部实例化的另一个类包含显示警报对话框的此方法。在方向更改期间,我仍然让窗口泄漏。我还检查了几个问题,他们得到了相似的答案。

主类:

AlertDialog aler;
classB(aler);

B类:

AlertDialog aler2;
classB(AlertDialog a){
this.aler2 = a;
}

private void showWifiDialog(AlertDialog aler2) {

    AlertDialog.Builder builder = new AlertDialog.Builder(this.context)
            .setTitle("Device")
            .setMessage("Press OK")
            .setPositiveButton("OK", new DialogInterface.OnClickListener() {
                public void onClick(DialogInterface dialog, int which) {

                }
            });

    aler2 = builder.create();

    aler2.show();

}

实验:

    @Override
    public void onPause() {
            if(aler!=null && aler.isShowing())
         {
             aler.cancel();
         }
      super.onPause();
    }

   @Override
    public void onStop(){
        if(aler!= null && aler.isShowing()) {

            aler.dismiss();

          }
        super.onStop();
    }

    @Override
    protected void onDestroy() {
     // TODO Auto-generated method stub

        if(aler!=null)
         {
             aler.dismiss();
         }
    }
4

1 回答 1

-1

试试这个,把它放在清单中,然后试试

<activity
            android:name="ActivityWhcichCallingDialog"
            android:configChanges="keyboardHidden|orientation|screenSize"
/>
于 2013-09-12T04:19:05.197 回答