2011-05-20 69 views
0

我有一个应用程序与多个活动和多个布局。但是,一些布局包含在几项活动中。我也有一个线程更新这个布局。但是,当我切换活动它不起作用。由于包含了布局,因此元素具有相同的ID,它不应该只是起作用吗?或者我真的需要为布局中的每个元素获取一个对象,并将它提供给我的线程,以便更新新活动中的元素?包含的布局 - 在多个活动中更新

+0

获取布局ID并使其成为具有公共访问说明符的实例变量..其不良编程习惯,但可能工作...发布错误日志.. – ngesh 2011-05-20 12:53:47

回答

0

您应该为每个活动/视图运行更新代码,尽管包含的XML是相同的,每个都是不同的实例。

我的建议是重新启动验证是否有任何修改在每个活动中做,一个简单的方法是每个Activity扩展一个具有此代码的BaseActivity。

0

我在我的应用中包含广告布局,但在使用它的每个活动中,广告都需要重新加载。

如果我从返回上一个活动时使用相同的包含布局的活动调用活动,它仍然存在。

我想这是你所看到的....

0

所以,你也可以保存内部sharedPreferences数据(如果是小数据和原始OBJETS或parceable对象)。

此外,您可以扩展Application类并将数据存储在那里并更新onResume()方法内的每个活动。我相信这是处理这个问题的最好方法。这很容易做到。

要求谷歌关于扩展应用程序类,他将提供吨如何做到这一点的结果。它是一种在活动之间传递数据的简单方法,并且/或者保留对您将在整个应用中使用的单个对象的引用。当你不再需要它时,只需要小心地清除它,因为它将保持存在,直到应用程序完成()(它随应用程序扩展一起生效,贯穿整个应用程序生命周期)。

相关问题