Android change setContentView

Android change setContentView,android,android-layout,Android,Android Layout,我想在活动中动态设置contentView。 因为有一次我使用xml作为contentView,但另一次我使用自定义视图作为contentView 但是如何更改contentView 我听说ViewFlipper可以做到这一点,但ViewFlipper是在xml文件中实现的。在这个ViewFlipper中,您可以添加不同的视图 但是我一开始不知道它们,所以我不能把它们全部写在我的xml文件中。 你知道吗 谢谢您可以随时拨打setContentView,而不仅仅是在onCreate中。只需在单独的

我想在活动中动态设置contentView。 因为有一次我使用xml作为contentView,但另一次我使用自定义视图作为contentView

但是如何更改contentView

我听说ViewFlipper可以做到这一点,但ViewFlipper是在xml文件中实现的。在这个ViewFlipper中,您可以添加不同的视图

但是我一开始不知道它们,所以我不能把它们全部写在我的xml文件中。 你知道吗


谢谢

您可以随时拨打
setContentView
,而不仅仅是在
onCreate
中。只需在单独的XML文件中定义所需的所有视图,并在切换时传递相关id即可。如果要在代码中动态定义新布局,请执行此操作并调用
setContentView
并传递新布局的根视图


*从技术上讲,您可以在任何时候在事件线程上执行时调用
setContentView
。否则,您需要使用处理程序来调用它。

您到底想做什么?您能更好地解释一下您希望如何向用户显示屏幕吗?例如,用户调用一个名为“测试”的活动,此测试存在一个带有单选按钮的视图,如果用户使用完单选按钮,他可以继续,现在应该可以看到带有可拖动元素的视图,然后再使用单选按钮或可拖动元素。。我想从技术上转换视图。。。我不认为为每个视图创建一个新的活动是明智的…Ted Hopp所说的是完美的。根据您的要求,我建议insead of switching View您可以在一个XML中拥有所有必需的布局,只需根据需要显示/隐藏单个布局,ex:-单选按钮和可拖动元素有两个布局。选择单选按钮后,使第二个布局可见。多个视图的逻辑相同。如果我再次调用setContentView,我将跳转哪种方法?“再来一次吗?”@krackmoe-我不明白这个问题。你哪儿也不跳。模型是:某些事件(例如,用户按下按钮)在应用程序中运行某些代码。此代码决定是时候更改布局了,因此它调用
setContentView
。框架负责更新显示。然后,代码返回到等待新事件发生。