在我的活动中,我想展示简单的信息对话框,例如:
new AlertDialog.Builder(context).setMessage(message).show();
Run Code Online (Sandbox Code Playgroud)
如果我这样做,当我旋转手机时对话框会泄漏(更不用说它也会消失,因此用户可能会错过它).我可以使用托管对话框,但我不确定如何合理地使用它来处理这些类型的短消息?看起来你必须这样做:
showDialog(SOME_DLG_ID);
...
@Override
onCreateDialog(int id) {
if (id == SOME_DLG_ID) {
new AlertDialog.Builder(context).setMessage(message).show();
}
}
Run Code Online (Sandbox Code Playgroud)
因为它是一个覆盖方法,所以无法将消息传递给onCreateDialog.我不想创建父活动的成员变量,只存储当前消息应该是什么.你们都是这样做的?
谢谢
在这个问题中,Dialog.show()与Activity.showDialog() 建议使用2010年的showDialog().我需要支持Android 2.1-4.1所以我应该保留这个已弃用的代码还是更改它?弃用的原因?
android ×2