您好!
我正在尝试在主要活动中的LinearLayout内创建动态TextView。该程序(应该是)根据需要将TextView从resultrow
XML推送到activity_fivethreeone
XML。
第parentLayout.addView(textView);
行正在抛出此错误;
The specified child already has a parent. You must call removeView() on the child's parent first.
我尝试过类似问题的答案,但没有获胜
Fragments - The specified child already has a parent. You must call removeView() on the child's parent first
Call removeView() on the child's parent first
类:
try {
LinearLayout parentLayout = (LinearLayout)findViewById(R.id.linLayout);
LayoutInflater layoutInflater = getLayoutInflater();
View view;
for(int counter=0;counter<=theWeeksList.size();counter++){
view = layoutInflater.inflate(R.layout.resultrow, parentLayout, false);
TextView textView = (TextView)view.findViewById(R.id.resultRow);
textView.setText(theWeeksList.get(counter));
parentLayout.addView(textView);
}
}
我试图使用removeView()
,但无法坚持下去。
任何帮助将不胜感激!
谢谢!
答案 0 :(得分:1)
textView
已经作为父view
,事实上您可以使用findViewById成功查找它。所以这一行:
parentLayout.addView(textView);
导致异常。您可能希望将view
添加到parentLayout
parentLayout.addView(view);
因为它刚刚创建,所以它没有父级,可以作为子级添加
答案 1 :(得分:1)
您正在尝试添加已属于现有EditText
的{{1}}。
删除行
ViewGroup
来自您的代码。你不需要这样做。替换为
parentLayout.addView(textView);