如何在Android中删除View?

时间:2013-04-09 12:43:50

标签: android android-view layout-inflater viewgroup android-inflate

我有两个Buttons处于主布局。如果单击添加Button,则必须动态添加EditText(使用Inflater)。这部分正在运作。如果点击了删除Button,则必须先将最后一个删除EditText。但我不知道如何删除视图。

add.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
            LayoutInflater layoutInflater = (LayoutInflater) getBaseContext()
                    .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
            view = layoutInflater.inflate(R.layout.add_edit, null);
            ll.addView(view);
        }
    });
    remove.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub

            ll.removeViewAt(0);
        }
    });

1 个答案:

答案 0 :(得分:5)

用它来删除最后一个:

ll.removeViewAt(ll.getChildCount() - 1 );

或者,您可以在通货膨胀期间“记住”要删除的视图

ArrayList<View> viewList = new ArrayList<View>();

// during inflation
view = layoutInflater.inflate(R.layout.add_edit, null);
viewList.add(view);
ll.addView(view);

// then to remove the last
view  = list.get(list.size() - 1);
ll.removeView(view);