如何在android中删除布局?

时间:2017-01-03 12:28:19

标签: android android-layout

我已在动态布局中创建了多个按钮。现在,如何在使用后删除此布局 例如: -

LinearLayout parent = new LinearLayout(this);

    parent.setLayoutParams(new LinearLayout.LayoutParams(
            LinearLayout.LayoutParams.MATCH_PARENT,
            LinearLayout.LayoutParams.WRAP_CONTENT));
    parent.setOrientation(LinearLayout.HORIZONTAL);

    for (int i = 0; i < 10; i++) {
        Button b = new Button(this);
        b.setText("Primary");

        Drawable image = ContextCompat.getDrawable(
                getApplicationContext(),
                R.drawable.your_image);
        image.setBounds(0, 0, 60, 60);

        b.setCompoundDrawables(null, null, image, null);
        parent.addView(b);
    }

6 个答案:

答案 0 :(得分:2)

如果您仍然拥有线性布局的实例,请像对removeView(...)一样调用addView(...)

答案 1 :(得分:0)

您可以将linearLayout的可见性设置为parent.setVisibility(View.GONE);

或通过parent.removeAllViews().

删除linearLayout中的所有视图

答案 2 :(得分:0)

您必须使用来自父级的removeView(View)removeViewAt(position),具体取决于您是否跟踪索引或对象。

parent.removeView(button);
parent.removeViewAt(buttonIndex);

答案 3 :(得分:0)

获取视图的父级并从其父级

中删除该视图
((ViewGroup) parent.getParent()).removeView(parent);

答案 4 :(得分:0)

试试这个:

 View button = view.findViewById(R.id.buttonid);
 ((ViewGroup) button.getParent()).removeView(button);

答案 5 :(得分:0)

我已从其子(Textview's)点击中删除了ParentView。

tvClose.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                if (llContainer.getChildCount() > 1) {
                    ((LinearLayout) view.getParent()).removeView(view);
                }
            }
        });