我正在使用addContentView()
添加布局。
如何在单击按钮时删除此布局?
答案 0 :(得分:19)
假设contentView
是通过window.addContentView()
((ViewGroup) contentView.getParent()).removeView(contentView);
答案 1 :(得分:9)
试试吧
View youAddedView;
ViewGroup rootView = (ViewGroup) findViewById(android.R.id.content);
for (int i = 0; i < rootView.getChildCount(); i++) {
if(rootView.getChildAt(i) == yourAddedView) {
// do anything here
}
}
答案 2 :(得分:4)
如果您已经拥有对视图的引用,那么您只需执行以下操作:
ViewGroup rootView = (ViewGroup) findViewById(android.R.id.content);
rootView.removeView(viewToRemove);
而不是循环浏览ViewGroup。
答案 3 :(得分:2)
很遗憾,无法删除随addContentView()
添加的内容视图。您可以做的最好的事情是在其上调用setVisibility(View.GONE)
,以隐藏它。
这就是为什么只有在设置内容视图或将其添加到活动时才会调用活动的onContentChanged()。
答案 4 :(得分:-1)
你可以在这里做两件事,你可以设置按钮点击事件的可见性。 要么 您可以将布局参数设置为布局宽度和高度为0dp 它将隐藏您的布局显示