我目前使用AlertDialog在我的应用程序中创建一个简单的对话框。我使用看起来像这样的代码:在屏幕旋转时重新创建AlertDialog的最佳方式是什么?
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setCancelable(false);
builder.setTitle(DialogTitle);
builder.setItems(R.array.options, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
switch (which) {
case 0:
reset();
break;
case 1:
exit();
break;
default:
break;
}
}
});
builder.show();
我已阅读,最好的选择可能是创建一个扩展DialogFragment一个类,然后用我的DialogFragment,而不是我目前的执行情况。
任何人都可以证实这是最好的解决方案,建议更好的东西,可能给我一个例子吗?
谢谢。
是的,使用'DialogFragment'将会是这些日子的适当方式。在d.android.com上的[Dialogs topic](http://developer.android.com/guide/topics/ui/dialogs.html#DialogFragment)中有文档和示例。拥有'DialogFragment'的好处是框架能够在配置改变时正确地管理它的状态,并且它变成一个可重用的组件。使用'android:configChanges'(如下所示)可能会产生一些不希望的副作用,并使代码库变得不太灵活。 –
我用DialogFragment去了。在Dialogs主题中探讨后,我轻松实现了满足需求的一个。在我的测试活动中,看起来我现在可以使用“开箱即用”片段旋转屏幕。我还没有在我的应用程序中实现。谢谢MH。 –