猿问

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

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


郎朗坤
浏览 549回答 1
1回答

慕斯709654

可以的。有2中方式:1、动态添加的时候为组件设置id,删除的时候根据id查找到对应组件,然后删除2、根据父节点,获取所有父组件下的子组件,然后依次删除。示例:12345678910111213141516171819protected&nbsp;View&nbsp;createView()&nbsp;{//动态添加组件&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Button&nbsp;btn&nbsp;=&nbsp;new&nbsp;Button(this);//动态创建按钮&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;btn.setId(index++);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;btn.setLayoutParams(new&nbsp;LayoutParams(LayoutParams.WRAP_CONTENT,&nbsp;LayoutParams.WRAP_CONTENT));&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;btn.setText("aaaaaa"&nbsp;+&nbsp;index);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;btn;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;private&nbsp;void&nbsp;removeView()&nbsp;{//动态删除组件(按钮)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//获取linearlayout子view的个数&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;int&nbsp;count&nbsp;=&nbsp;linearLayout.getChildCount();&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//研究整个LAYOUT布局,第0位的是含add和remove两个button的layout&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//第count-1个是那个文字被置中的textview&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//因此,在remove的时候,只能操作的是0<location<count-1这个范围的&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//在执行每次remove时,我们从count-2的位置即textview上面的那个控件开始删除~&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(count&nbsp;-&nbsp;2&nbsp;>&nbsp;0)&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//count-2>0用来判断当前linearlayout子view数多于2个,即还有我们点add增加的button&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;linearLayout.removeViewAt(count&nbsp;-&nbsp;2);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;
随时随地看视频慕课网APP

相关分类

Android
我要回答