android 单击 alertdialog.show 两次时应用崩溃

android app crach when clicking alertdialog.show two times

猛击。

我试图在 alertDialog 中显示视图,一切正常,视图弹出没有任何问题,但是当我再次单击显示视图时,应用程序崩溃并出现此错误

 Caused by: java.lang.IllegalStateException: The specified child already has a parent. You must call removeView() on the child's parent first.

您正在为警报对话框重复使用相同的视图。要么不要这样做(创建一个新的),要么您必须将其从上一个对话框中删除。制作一个新的可能更容易。

再次猛击 错误是再次显示相同的视图, 我通过每次单击显示视图时创建新的 alertDian 来解决它

customerDetails = new AlertDialog.Builder(OrderDetails.this);
    LayoutInflater inflater = getLayoutInflater();
    convertView = (View) inflater.inflate(R.layout.customer_details, null);

第二次打开对话框时出现问题是吧?您正在尝试通过警报对话框重新使用相同的视图,这就是您看到此错误的原因。

您可以在重新展开对话框之前完全删除视图,方法是按照错误消息中的说明调用 removeView()。或者只是再次膨胀视图,这是通常所做的。您希望视图与对话框一起生死存亡。为此,您应该 inflater.inflate(...) 将视图与对话框创建代码放在一起。

如果您 post 您的代码,我们可以进一步帮助您。