我正在尝试为android安排一个linearlayout。但是,要对布局进行排序,需要在将其添加到布局之前对其进行排序。但是,如果我想稍后添加对象,则表示孩子已经有父母。似乎他们被自动分配了父母。这是正常的代码,可以正常工作:
post_list = new ArrayList<Post>();
for(int i = 0; i < 100; i++) {
Post post = new Post(this, "#4c66a4", "#FFFFFF");
post_list.add(post);
View list = (View) post.show();
ll.addView(list, layoutParams);
}
但是,当我想稍后添加视图时,它将不再可能:
post_list = new ArrayList<Post>();
for(int i = 0; i < 100; i++) {
Post post = new Post(this, "#4c66a4", "#FFFFFF");
post_list.add(post);
}
for (int i = 0; i < post_list.size(); i++) {
Post p = post_list.get(i);
View list = (View) p.show();
ll.addView(list, layoutParams);
}
知道这个问题是怎么造成的吗? 提前致谢
答案 0 :(得分:0)
如果您必须发现添加的父级的原因,我们需要查看logcat和更多代码。不过,这可能是原因:
"specified child already has a parent" error
但如果你只是试图强迫&#34;添加视图,然后在添加之前调用它:
((ViewGroup)list.getParent()).removeView(list);
从父项中删除视图并将其添加到您喜欢的位置。