求教Android,动态添加到控件能动态删除吗?

想实现动态添加和删除button,添加实现了,求教怎么实现删除?谢谢... 想实现动态添加和删除button,添加实现了,求教怎么实现删除?谢谢 展开
 我来答
唯夜TGBUS
2013-10-10 · TA获得超过568个赞
知道小有建树答主
回答量:124
采纳率:0%
帮助的人:140万
展开全部
可以的,android中使用布局是为了加快开发,最终控件还是通过解析XML后,通过代码添加的。

具体方法:
例如你的布局是一个Linearlayout linear;上面有一本Button btn1;
要删除这个btn1要做的就是 linear.removeView( btn1 );

动态添加也是一样的:
linear.addView( btn2 );
要注意的是,Button btn2 = new Button( context );这时候控件是没有大小的,必须设置控件大小以后添加了才能看到。设置控件大小的方法是view.setLayoutParams();

希望能够帮到你。
微测检测5.10
2023-05-10 广告
您好!建议咨 深圳市微测检测有限公司,已建立起十余个专业实验室,企业通过微测检测就可以获得一站式的测试与认 证解决方案;(EMC、RF、MFi、BQB、QI、USB、安全、锂电池、快充、汽车电子EMC、汽车手机互 联、语音通话质量),认证遇... 点击进入详情页
本回答由微测检测5.10提供
woshidaniel
2015-08-25 · TA获得超过9240个赞
知道小有建树答主
回答量:1760
采纳率:96%
帮助的人:953万
展开全部

可以的。有2中方式:

1、动态添加的时候为组件设置id,删除的时候根据id查找到对应组件,然后删除

2、根据父节点,获取所有父组件下的子组件,然后依次删除。

示例:

protected View createView() {//动态添加组件
        Button btn = new Button(this);//动态创建按钮
        btn.setId(index++);
        btn.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
        btn.setText("aaaaaa" + index);
        return btn;
    }
    private void removeView() {//动态删除组件(按钮)
        //获取linearlayout子view的个数
        int count = linearLayout.getChildCount();
        //研究整个LAYOUT布局,第0位的是含add和remove两个button的layout
        //第count-1个是那个文字被置中的textview
        //因此,在remove的时候,只能操作的是0<location<count-1这个范围的
        //在执行每次remove时,我们从count-2的位置即textview上面的那个控件开始删除~
        if (count - 2 > 0) {
            //count-2>0用来判断当前linearlayout子view数多于2个,即还有我们点add增加的button
            linearLayout.removeViewAt(count - 2);
        }
    }
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式