在开发中这么一个场景。如果你是用onCreateDialog showDialog 系统的一系列方法去操作dialog 那么当你dialog存在时,你离开了当前的activity。再回到此activity时,点击dialog上的按钮,按钮的事件是显示另一个dialog。则你会发现以下异常:
java.lang.IllegalStateException: The specified child already has a parent. You must call removeView() on the child's parent first.
原因
1. 在你离开界面再回来时,系统会掉Activity中的performRestoreInstanceState方法。此方法里把所有的dialog又重新初始化了一遍。则当你触发showDialog操作时, 就会出现以上异常,说你必须先removeView才能再addView.。所以当你的界面需要在离开页面 dialog不关的场景下, 最好不要用系统的dialog操作方法。
本文探讨了在Android开发中使用系统自带对话框方法时遇到的一个特定异常:'java.lang.IllegalStateException'。该异常通常发生在用户离开并返回带有对话框的活动时,尝试再次显示对话框。文章解释了这一问题的原因,并建议开发者避免使用系统的对话框操作方法来解决此问题。
2779

被折叠的 条评论
为什么被折叠?



