【发布时间】:2015-12-16 13:56:20
【问题描述】:
代码:
maxIndex = alItemListDetails.size();
linItemTags = (LinearLayout) findViewById(R.id.linItemTags);
final ImageView image = new ImageView(this);
for (int i = 0; i < maxIndex; i++) {
image.setLayoutParams(new android.view.ViewGroup.LayoutParams(80, 60));
image.setMaxHeight(20);
image.setMaxWidth(20);
image.setTag(i);
image.setImageResource(R.drawable.box);
// Adds the view to the layout
linItemTags.addView(image);
}
image.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Common.displayToast(ItemDetailsActivity.this, "" + image.getTag());
}
});
从上面的代码,你可以看到我已经动态生成了imageview并试图处理那个Imageview的点击事件。
但是,它给了我如下错误:
Caused by: java.lang.IllegalStateException: The specified child already has a parent. You must call removeView() on the child's parent first.
【问题讨论】:
-
您是否要创建图像列表?
-
将 RecyclerView 与 ViewHolder 一起使用会是更好的选择。
标签: android onclick imageview layoutparams