Android-不在Activity类中怎么删除动态控件?

UI设计界面 UI设计界面 主题:1059 回复:2190

Android-不在Activity类中怎么删除动态控件?

归属感 发布于 2017-02-01 字数 204 浏览 1196 回复 3

能不能能够通过控件ID或者tag来删除layout里面的控件?或者可以通过控件的ID或者tag来获取他们吗?因为通过layout是有removeview方法的,只要能获取到这个控件就可以删除掉了.
请问我需要怎么做才能达到目的呢?

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

支持 Markdown 语法,需要帮助?

评论(3

瑾兮 2017-09-30 3 楼

findViewById(id)、findViewWithTag(tag),这2个方法都是通过ID或者tag获取view的实例,得到这个实例后用view.setVisibility(View.GONE)方法代替removeview这个方法会更好点。

晚风撩人 2017-07-27 2 楼

不在Activity类中 我的理解是不在UI线程里进行该操作。

android限制了必须在UI线程里才能更新UI,如果在其他线程里打算更新UI的话,就需要用到Handler或者AsyncTask其中之一来实现了。

至于删除的方法,那就是
v = layout.findviewbyid(id)或者layout.findviewbytag(tag);
layout.remove(v);

晚风撩人 2017-05-06 1 楼

我想说必然可以。。。
view=findViewById(id);
view=findViewWithTag(tag);
一些动态加的View 可能没有id,那就用tag呗,你的界面就是一个视图树,查找和删除,符合树的特性,肯定没有问题的。
至于找到对应的View 之后,我想remove(view)一下,我想应该没有问题。