Android - 从RelativeLayout中删除ImageView

时间:2014-08-27 07:26:20

标签: java android xml android-layout uiimageview

如何从RelativeLayout中删除ImageView?出于某种原因,RelativeLayout.removeView(iv);不起作用。我正在以编程方式创建ImageView:

final ImageView iv = new ImageView(MainActivity.this);但这不起作用。

我不想使用iv.setVisibility(View.GONE);因为这并没有真正删除图像,只是设置了可见性。

为什么这不起作用?还有其他选择吗?

1 个答案:

答案 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);
                    }
                });

            }
        });