Android-不在Activity类中怎么删除动态控件?
能不能能够通过控件ID或者tag来删除layout里面的控件?或者可以通过控件的ID或者tag来获取他们吗?因为通过layout是有removeview方法的,只要能获取到这个控件就可以删除掉了.
请问我需要怎么做才能达到目的呢?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
findViewById(id)、findViewWithTag(tag),这2个方法都是通过ID或者tag获取view的实例,得到这个实例后用view.setVisibility(View.GONE)方法代替removeview这个方法会更好点。
不在Activity类中 我的理解是不在UI线程里进行该操作。
android限制了必须在UI线程里才能更新UI,如果在其他线程里打算更新UI的话,就需要用到Handler或者AsyncTask其中之一来实现了。
至于删除的方法,那就是
v = layout.findviewbyid(id)或者layout.findviewbytag(tag);
layout.remove(v);
我想说必然可以。。。
view=findViewById(id);
view=findViewWithTag(tag);
一些动态加的View 可能没有id,那就用tag呗,你的界面就是一个视图树,查找和删除,符合树的特性,肯定没有问题的。
至于找到对应的View 之后,我想remove(view)一下,我想应该没有问题。