我希望每次按下按钮时通过按钮单击生成并添加新的ImageView。这是我的代码:
entwicklungskarte.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
ImageView iv = new ImageView(getApplicationContext());
iv.setImageResource(R.drawable.erfindungek);
ResourcenActivity.entwicklungskarten.add(iv);
}
});
但是当我点击按钮两次时,我收到此错误:
java.lang.IllegalStateException: The specified child already has a parent. You must call removeView() on the child's parent first.
我认为每按一次按钮就会创建一个新的ImageView。但它显然没有。有没有其他方法可以通过按钮单击创建ImageView并将其添加到布局?
答案 0 :(得分:1)
在你的类中声明一个字段previousId private int previousId = 0; 您必须设置图像视图的增量ID iv
iv.setId(++previousId);
前
ResourcenActivity.entwicklungskarten.add(iv);
这样每次要求相应的父级添加一个ID不同于前一个孩子的新孩子时。
答案 1 :(得分:0)
if(view != null) {
return view;
}