在我的应用程序中,我有一个自定义 AlertView,到目前为止效果很好。我可以第一次打开它,做我想做的,然后关闭它。如果我想再次打开它,我会得到
java.lang.IllegalStateException: The specified child already has a parent. You must call removeView() on the child's parent first
所以,这里有一些代码:
public Class ReadingTab
{
...
private AlertDialog AD;
...
protected override void OnCreate(Bundle bundle)
{
btnAdd.Click += delegate
{
if (IsNewTask)
{
...
AlertDialog.Builer adb = new AlertDialog.Builer(this);
...
View view = LayoutInflater.Inflate(Resource.Layout.AlertDView15ET15TVvert, null);
adb.setView(view)
}
AD = adb.show();
}
}
}
那将是我的代码的粗略外观。btnAdd 内部还有两个按钮,其中一个(btnSafe)我AD.Dismiss()
关闭警报对话框,adb.dispose()
没有做任何事情。第一次工作正常,但是当我将其称为第二次时,调试器会AD = adb.show();
出现上述异常。
那么我该怎么做才能从父级中删除对话?我在任何地方都找不到 removeView()。