【发布时间】:2018-09-08 10:00:24
【问题描述】:
我的项目有 2 个布局。两者都有一个使用 setContentView 方法在彼此之间交换的按钮。每当我在这两种布局之间切换时,我使用 addView() 添加的每个 UI 元素都会丢失。但是静态 XML 元素仍然存在。
【问题讨论】:
-
那是因为布局被重新膨胀,当你调用 setContentView(R.layout.xml) 时,所有的视图都在 xml 中指定,这是在幕后发生的,所有动态添加的视图都将是走了。所以你需要在调用 setContentView() 后再次添加它们。
-
@HedShafran 是的,我知道,但必须有其他方法来解决这个问题。
-
这两种布局可以相互叠加,您可以切换它们的可见性。使用
GONE隐藏布局,而不是INVISIBLE如果布局上有可点击的元素。 -
@HedShafran 您的回答是我的解决方案。您可以发布它,以便我接受它作为答案。
-
仅供参考:您不应该多次调用
setContentView()- 只需在Activity的onCreate()方法中调用一次。
标签: java android setcontentview