Android动态添加自定义视图

时间:2016-02-07 15:55:41

标签: android

我正在尝试添加我的自定义PostLayout类,它会添加第一个但在此之后它会因此错误而崩溃;

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

    FragmentPostLayout = (LinearLayout) view.findViewById(R.id.HomeFragmentGenerateLayout);
    PostLayout postlayout = new PostLayout(context);
    for(int i = 0; i < 10; i++)
        FragmentPostLayout.addView(postlayout, i - 1);//where it crashes when i=1

1 个答案:

答案 0 :(得分:1)

此错误通常是由于您添加了屏幕上已有的视图而引起的。

在迭代的第一个循环中添加PostLayout,在第二个循环中尝试重新添加它 - 这就是当索引为1时循环崩溃的原因。

每次尝试创建新的帖子布局:

for(int i = 0; i < 10; i++)
    MyView view = new MyView(context);
    ParentView.addView(view);