Android更改setContentView

kra*_*moe 3 android android-layout

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

但是我如何更改contentView?

我读到ViewFlipper可以做到这一点,但是viewFlipper是在xml文件中实现的.在此ViewFlipper中,您可以添加不同的视图.

但我一开始并不知道它们,所以我不能在我的xml文件中写出它们.你有什么主意吗?

谢谢

Ted*_*opp 9

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

*从技术上讲,您可以setContentView在事件线程上执行任何时间进行调用.否则,您需要使用Handler来调用它.

  • @krackmoe - 我不明白这个问题.你不会跳到任何地方.模型是:某些事件发生(例如,用户按下按钮),在您的应用程序中运行一些代码.此代码决定是时候更改布局,因此它调用`setContentView`.该框架负责更新显示.然后,您的代码将返回等待一些新事件发生. (3认同)