2010-02-19 35 views
1

我想在我的代码中创建一个选项来使用首选项更改布局。我已经有了用XML创建的两个布局,但我无法弄清楚在运行时如何在两者之间进行交换。我想在onResume()函数中检查它,因为它在从首选项屏幕返回后直接调用,并且在启动时,我无法弄清楚需要的代码。我尝试了第二次使用setContentView(),但它似乎没有工作。我能做什么?提前致谢!如何在运行时(Android)期间从XML转换LinearLayouts?

回答

1

我猜你需要保存用户的偏好,然后让他们关闭并重新启动你的应用程序,因为我相信唯一一次你可以调用setContentView()在onCreate()。在调用setContentView()之前,您可以首先阅读布局首选项,作为onCreate()中的第一件事情。一旦避免让用户重新启动应用程序,可能会创建一个新的活动实例已经改变了他们的偏好,并关闭了当前的活动。

+0

我将使用什么代码来创建新实例并关闭旧的? – gkanwar 2010-02-19 22:21:35

+0

只需用Intent打开Activity的新实例,然后在要关闭的活动中执行this.finish()。 – 2010-02-21 01:49:44

+0

对于这个愚蠢的问题感到抱歉,但是按照什么顺序我会这么做:this.finish()第一个还是第一个新的intent?看起来如果我先调用this.finish(),它就不会得到新的Intent代码;但是,如果我先调用了新的Intent,是不是要等到关闭才能返回到我的应用程序,因此不会调用this.finish()并让它在后台运行? – gkanwar 2010-02-21 19:52:16