我有一个自定义的Dialog类,我在其中实例化对话框
dg = new Dialog(con);
dg.requestWindowFeature(Window.FEATURE_NO_TITLE);
Window window = dg.getWindow();
window.setBackgroundDrawableResource(android.R.color.transparent);
dg.setContentView(R.layout.listview_dialog_layout);
//set views etc..
dg.show();
如果在显示对话框的活动中发生方向更改,则活动数据更改将丢失,但对话框仍保持打开状态。我希望在方向更改时解除对话框,就像通过AlertDialog.Builder创建的默认Dialog一样。我怎么能这样做?
我更喜欢在自定义Dialog类中实现的解决方案,而不是去每个活动并输入dialog.dismiss();在活动暂停或停止
答案 0 :(得分:1)
请参阅我的回答here
此方法可让您在不引用活动的情况下检测对话框的方向更改。但是,它需要在对话框中使用自定义视图。如果可以将自定义对话框类的实例传递给自定义视图,则可以直接在自定义视图的onConfigurationChanged()方法中调用dialog.dismiss();
。