Kan*_*dha 7 android android-alertdialog
我创建了AlertDialog使用构建器.它显示我们何时调用该show()方法.我在该对话框中有取消按钮.我可以通过单击取消按钮取消该对话框.我的问题是,一旦我取消显示对话框,我就无法再次显示对话框.它会抛出一个例外:
09-09 12:25:06.441: ERROR/AndroidRuntime(2244): java.lang.IllegalStateException: The specified child already has a parent. You must call removeView() on the child's parent first.
09-09 12:25:06.441: ERROR/AndroidRuntime(2244): at android.view.ViewGroup.addViewInner(ViewGroup.java:1970)
09-09 12:25:06.441: ERROR/AndroidRuntime(2244): at android.view.ViewGroup.addView(ViewGroup.java:1865)
09-09 12:25:06.441: ERROR/AndroidRuntime(2244): at android.view.ViewGroup.addView(ViewGroup.java:1845)
09-09 12:25:06.441: ERROR/AndroidRuntime(2244): at com.android.internal.app.AlertController.setupView(AlertController.java:364)
09-09 12:25:06.441: ERROR/AndroidRuntime(2244): at com.android.internal.app.AlertController.installContent(AlertController.java:205)
09-09 12:25:06.441: ERROR/AndroidRuntime(2244): at android.app.AlertDialog.onCreate(AlertDialog.java:251)
Run Code Online (Sandbox Code Playgroud)
Kon*_*rov 17
这种情况正在发生,因为您正在尝试重新使用已创建的对话框(可能在onCreate)并使用一次.重用对话框没有问题,但在问题中,指定的子对象(视图)已经有父对象(对话框).您可以继续删除父对象,也可以创建一个新的父对象: -
alertDialog=new AlertDialog(Context);
alertDialog.setView(yourView);
alertDialog.show();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
25536 次 |
| 最近记录: |