我收到此错误
指定的孩子已经有父母。你必须调用removeView() 先关于孩子的父母
这是代码
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.categorylayout);
LinearLayout main = (LinearLayout)findViewById(R.id.main_layout);
View view = getLayoutInflater().inflate(R.layout.categoryeditor, main, true);
main.addView(view);
}
我收到此错误是因为我在这里传递了true
:
inflate(R.layout.categoryeditor, main, true);
我的问题:
The specified child already has a parent
父母在哪里?
答案 0 :(得分:3)
View view = getLayoutInflater().inflate(R.layout.categoryeditor, main,true);
您通过最后两个参数提供了父母。传递true
会告诉Android将夸大的视图添加到main
。所以你可以摆脱
main.addView(view);
另请注意,在您的情况下,返回的View
不是膨胀的astype
,而是其父级
答案 1 :(得分:0)
替换
View v = inflater.inflate(R.layout.camera_fragment, main, true);
使用
View v = inflater.inflate(R.layout.camera_fragment, main, false);
答案 2 :(得分:0)
您的主要观点是家长。在这种情况下,您的最后一个参数告诉附加到父
View view = getLayoutInflater().inflate(R.layout.categoryeditor, main,true);
答案 3 :(得分:0)
请阅读该方法的文档
<强>参数:强> 要加载的XML布局资源的资源ID (例如,R.layout.main_page)
root 可选视图是生成的层次结构的父级(如果attachToRoot为true),或者只是为返回的层次结构的根提供一组LayoutParams值的对象(如果attachToRoot是假的。)
attachToRoot 是否应将膨胀的层次结构附加到根参数?如果为false,则root仅用于为XML中的根视图创建LayoutParams的正确子类。