2012-02-21 98 views
1

有没有简单的方法来清除android活动的布局?我正在开发一个应用程序,该应用程序目前跨越多个活动,并且需要跟踪来自不同活动的变量,以用于我的项目的最终活动。我只是想知道是否可以在单个活动中创建所有内容,执行一个操作,存储一个变量,然后清除活动屏幕并加载另一个布局?对我来说,看起来要简单得多,而不必跟踪多个活动中的多个变量。清除Android活动

回答

3

当然,您可以随时设置任何内容视图。

setContentView(R.layout.main); 

//now do some stuff 

//then 

    setContentView(R.layout.someOtherLayout); 

不过,这很快就会变得笨拙(相信我,我已经试过)为您的活动的增长和不停地生长,以反映什么会本身被放置在单独活动的互动。更好的方法是扩展应用程序并将所有持久变量存储在该应用程序中。任何活动都可以随时看到父应用程序,只要有任何活动可见,您就可以指望这些变量持续存在。如果您需要通过长时间的睡眠周期来保持变量,则您需要将这些变量存储在SharedPreferences中,但无论您如何选择组织演示文稿,都是如此。

+0

谢谢,这有帮助。 – user1174834 2012-02-21 01:48:46

1

要改变布局,只需拨打setContentView(R.layout.layout_name);,就像您在onCreate中所做的那样,除了以新布局作为参数。

或者如果只是一些其他视图,您可以使用ViewFlipper并在多个不同视图之间切换。我一次不会做三次或三次以上的视图,因为ViewFlipper一次加载所有的视图,这可能会非常昂贵。

尽管在开销方面有一些权衡,但也许试图在这些和使用多个活动之间找到平衡点。我不会害怕使用多个活动,但也可以在适当的情况下简化上述操作。

0

您可以通过名为“include”的标签加载所有布局,并隐藏其他视图/布局,然后在 切换到另一个视图/布局时显示当前布局。当然,这是糟糕的表现。