Android:每按一次按钮创建新的ImageView

时间:2018-06-10 10:14:01

标签: android imageview android-imageview buttonclick

我希望每次按下按钮时通过按钮单击生成并添加新的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并将其添加到布局?

2 个答案:

答案 0 :(得分:1)

在你的类中声明一个字段previousId private int previousId = 0; 您必须设置图像视图的增量ID iv

 iv.setId(++previousId);

ResourcenActivity.entwicklungskarten.add(iv);

这样每次要求相应的父级添加一个ID不同于前一个孩子的新孩子时。

答案 1 :(得分:0)

if(view != null) {
    return view; 
}