Android AlertDialog在旋转后重新创建
我正在尝试使用来自的Alertdialog。但有一个问题。如果我旋转手机,则会重新创建警报对话框,并显示两个警报对话框。如何防止重新创建和重新创建alertDialog 这是我的代码:Android AlertDialog在旋转后重新创建,android,android-alertdialog,Android,Android Alertdialog,我正在尝试使用来自的Alertdialog。但有一个问题。如果我旋转手机,则会重新创建警报对话框,并显示两个警报对话框。如何防止重新创建和重新创建alertDialog 这是我的代码: public class FireMissilesDialogFragment extends DialogFragment { @Override public Dialog onCreateDialog(Bundle savedInstanceState) { // Us
public class FireMissilesDialogFragment extends DialogFragment {
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
// Use the Builder class for convenient dialog construction
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
builder.setMessage(R.string.dialog_fire_missiles)
.setPositiveButton(R.string.fire, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
// FIRE ZE MISSILES!
}
})
.setNegativeButton(R.string.cancel, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
// User cancelled the dialog
}
});
// Create the AlertDialog object and return it
return builder.create();
}
}
这是显示方法:
public void confirmFireMissiles() {
DialogFragment newFragment = new FireMissilesDialogFragment();
newFragment.show(getSupportFragmentManager(), "missiles");
}
检查是否设置了
savedInstanceState
:
public class FireMissilesDialogFragment extends DialogFragment {
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
if (savedInstanceState == null) {
// create new dialog
}
}
加上这个
android:configChanges=“orientation | screenSize”
属性在清单文件中的活动标记中。如果(savedInstanceState==null){//create new dialog}
我已将该代码放入public void confirmFirefielms()
中,谢谢!