如何从RelativeLayout中删除ImageView?出于某种原因,RelativeLayout.removeView(iv);
不起作用。我正在以编程方式创建ImageView:
final ImageView iv = new ImageView(MainActivity.this);
但这不起作用。
我不想使用iv.setVisibility(View.GONE);
因为这并没有真正删除图像,只是设置了可见性。
为什么这不起作用?还有其他选择吗?
答案 0 :(得分:1)
下面的代码片段可以帮助您了解动态代码的工作原理:
addBtn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
LayoutInflater layoutInflater = (LayoutInflater) getBaseContext()
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
final View addView = layoutInflater.inflate(R.layout.row, null);
Button buttonRemove = (Button) addView
.findViewById(R.id.remove);
addView.setTag(tag);
buttonRemove.setTag(tag);
dynamicLayoutsTags.add(tag);
Container.addView(addView);
tag++;
buttonRemove.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// ((LinearLayout) addView.getParent())
// .removeView(addView);
Integer removeTag = (Integer) v.getTag();
View deleteView = Container.findViewWithTag(removeTag);
Container.removeView(deleteView);
dynamicLayoutsTags.remove(removeTag);
}
});
}
});