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