2011-04-01 68 views
0

情况下,这是我的问题的描述:清算活动在TabActivity

我有TabActivity由三个选项卡。每个选项卡都绑定适当的活动。当我在一个Activity中更改数据时,该事件应该影响另一个Activity的内容。要实现这样的机会我使用以下标志:

* Intent.FLAG_ACTIVITY_CLEAR_TOP *

此标志允许我更新活动的内容。但问题是这会创建一个新的活动实例,并且不会释放以前的内存。

在文档中有一个说明“您可以使用Intent.FLAG_ACTIVITY_SINGLE_TOP返回创建的活动的实例”,但是当我将它与Intent.FLAG_ACTIVITY_CLEAR_TOP结合使用时,Activity的数据不会更新。

有谁知道什么方法应该可以帮助我解决这个问题,并防止我从内存分配。

+0

您在哪种方法更新数据?如果它是'onCreate',则不会被调用,因为您不会创建一个新的'Activity',而是将现有的一个放在前面。 'onNewIntent'将被调用。 – ernazm 2011-04-01 10:29:55

+0

我明白了。我更改非TabActivity onCreate方法中的数据,但是如果我已经设置了Intent.FLAG_ACTIVITY_CLEAR_TOP,它将带有更新数据的Activity的新实例带到顶部,并且不会删除以前的实例。这是我的问题。如何删除以前的活动实例? – teoREtik 2011-04-01 10:36:19

回答

2

请勿创建新的Activity,同时使用这两个标志并在onNewIntent中调用刷新。或者您可以将TabActivity的标签从Activity s重写为普通View s

+0

我应该在什么活动上调用NewIntent? – teoREtik 2011-04-01 11:25:23

+0

在你想刷新的一个。 – ernazm 2011-04-01 11:26:29

+0

所以,如果我改变一个简单的Activity的代码中的数据我怎么能在第二个Activity中调用onNewIntent方法? – teoREtik 2011-04-01 11:37:23

相关问题