“指定的孩子已经有一个父母”如何从AlertDialog中删除视图

代码511788465541441

我将LinearLayout扩展到AlertDialog中。它工作正常,但是如果我将其删除并再次启动,则会出现以下错误

java.lang.IllegalStateException:指定的子代已经有一个父代。您必须先在孩子的父母上调用removeView()。

在contructor中:

infoWindow = (LinearLayout) ((Activity) context).getLayoutInflater().inflate(R.layout.map_info_content, null);

之后:

protected boolean onTap(int index) {
        Builder dialog = new AlertDialog.Builder(context);
        dialog.setView(infoWindow);
        dialog.show();
        return true;
    }

我试图将对话框保留在内存中并将其视图设置为null,但无法解决问题

沙革

将膨胀视图添加到父级后,您将无法在Android中重复使用它们ViewGroup在您身边,您正在尝试在对话框中重复使用膨胀视图。要解决此问题,请在AlertDialog类本身中扩大视图。

我建议您为此创建一个单独的类。onCreateDialog方法如下所示:

public Dialog onCreateDialog(Bundle savedInstance){

    // create a new dialog builder
    AlertDialog.Builder builder = new AlertDialog.Builder(mContext);

    // dialog view to inflate
    View view = getActivity().getLayoutInflater()
                                .inflate(R.layout.map_info_content, null);

    // sets the view of our dialog
    builder.setView(view);

    // create and return the dialog
    return builder.create();
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Android:视图-孩子已经有一个父母

来自分类Dev

自定义对话框-指定的孩子已经有一个父母

来自分类Dev

Android | 指定的孩子已经有一个父母。您必须先在孩子的父母上调用removeView()

来自分类Dev

指定的孩子已经有一个父母。您必须先在孩子的父母上调用removeView()。(C#)

来自分类Dev

指定的孩子已经有一个父母。您必须先对孩子的父母调用removeView()

来自分类Dev

指定的孩子已经有一个父母。您必须先在孩子的父母上调用removeView()”

来自分类Dev

指定的孩子已经有一个父母。您必须先在孩子的父母上调用removeView()

来自分类Dev

指定的孩子已经有一个父母。您必须先在孩子的父母上调用removeView()。(C#)

来自分类Dev

Android | 指定的孩子已经有一个父母。您必须先在孩子的父母上调用removeView()

来自分类Dev

表格行指定的子代已经有一个父代。您必须先在孩子的父母上调用removeView()

来自分类Dev

Android片段-指定的子代已经有一个父代。您必须先在孩子的父母上调用removeView()

来自分类Dev

为什么我得到java.lang.IllegalStateException:指定的孩子已经有一个父母

来自分类Dev

错误:指定的子代已经有一个父代。您必须先在孩子的父母上调用removeView()

来自分类Dev

表格行指定的子代已经有一个父代。您必须先在孩子的父母上调用removeView()

来自分类Dev

Logcat说:“指定的孩子已经有一个父母。您必须先在孩子的父母上调用removeView()。” 在我的第二个警报对话框中

来自分类Dev

Logcat说:“指定的孩子已经有一个父母。您必须先在孩子的父母上调用removeView()。” 在我的第二个警报对话框中

来自分类Dev

Java.lang.Illegal State Exception: 特定的孩子已经有一个父母

来自分类Dev

重用ListView行中的视图-“指定的子代已经有一个父代”异常

来自分类Dev

对话框-指定的子代已经有一个父代。您必须先在孩子的父母上调用removeView()

来自分类Dev

冲突的Android错误消息:指定的子代已经有一个父代。您必须先在孩子的父母上调用removeView()

来自分类Dev

AlertDialog-指定的子代已经有一个父代

来自分类Dev

IllegalStateException:指定的子代已经有一个父代

来自分类Dev

FragmentTabHost:指定的子代已经有一个父代

来自分类Dev

如果我已经有一个 Mongoose 文档,如何删除它?

来自分类Dev

如何在main.dart中调用之前已经有一个的changeNotifier?

来自分类Dev

在ViewGroup中包装KeyboardView:java.lang.IllegalStateException:指定的子代已经有一个父代

来自分类Dev

如何在一个查询中让所有孩子成为父母

来自分类Dev

使用RecyclerView时出错:指定的子代已经有一个父代

来自分类Dev

FrameLayout IllegalStateException:指定的子代已经有一个父代

Related 相关文章

  1. 1

    Android:视图-孩子已经有一个父母

  2. 2

    自定义对话框-指定的孩子已经有一个父母

  3. 3

    Android | 指定的孩子已经有一个父母。您必须先在孩子的父母上调用removeView()

  4. 4

    指定的孩子已经有一个父母。您必须先在孩子的父母上调用removeView()。(C#)

  5. 5

    指定的孩子已经有一个父母。您必须先对孩子的父母调用removeView()

  6. 6

    指定的孩子已经有一个父母。您必须先在孩子的父母上调用removeView()”

  7. 7

    指定的孩子已经有一个父母。您必须先在孩子的父母上调用removeView()

  8. 8

    指定的孩子已经有一个父母。您必须先在孩子的父母上调用removeView()。(C#)

  9. 9

    Android | 指定的孩子已经有一个父母。您必须先在孩子的父母上调用removeView()

  10. 10

    表格行指定的子代已经有一个父代。您必须先在孩子的父母上调用removeView()

  11. 11

    Android片段-指定的子代已经有一个父代。您必须先在孩子的父母上调用removeView()

  12. 12

    为什么我得到java.lang.IllegalStateException:指定的孩子已经有一个父母

  13. 13

    错误:指定的子代已经有一个父代。您必须先在孩子的父母上调用removeView()

  14. 14

    表格行指定的子代已经有一个父代。您必须先在孩子的父母上调用removeView()

  15. 15

    Logcat说:“指定的孩子已经有一个父母。您必须先在孩子的父母上调用removeView()。” 在我的第二个警报对话框中

  16. 16

    Logcat说:“指定的孩子已经有一个父母。您必须先在孩子的父母上调用removeView()。” 在我的第二个警报对话框中

  17. 17

    Java.lang.Illegal State Exception: 特定的孩子已经有一个父母

  18. 18

    重用ListView行中的视图-“指定的子代已经有一个父代”异常

  19. 19

    对话框-指定的子代已经有一个父代。您必须先在孩子的父母上调用removeView()

  20. 20

    冲突的Android错误消息:指定的子代已经有一个父代。您必须先在孩子的父母上调用removeView()

  21. 21

    AlertDialog-指定的子代已经有一个父代

  22. 22

    IllegalStateException:指定的子代已经有一个父代

  23. 23

    FragmentTabHost:指定的子代已经有一个父代

  24. 24

    如果我已经有一个 Mongoose 文档,如何删除它?

  25. 25

    如何在main.dart中调用之前已经有一个的changeNotifier?

  26. 26

    在ViewGroup中包装KeyboardView:java.lang.IllegalStateException:指定的子代已经有一个父代

  27. 27

    如何在一个查询中让所有孩子成为父母

  28. 28

    使用RecyclerView时出错:指定的子代已经有一个父代

  29. 29

    FrameLayout IllegalStateException:指定的子代已经有一个父代

热门标签

归档