不同的对象

时间:2013-10-02 17:43:07

标签: android object

在一个应用程序中,我正在使用一个对象到我的MainMenu活动中名为Preferences的类。我想在几个页面中使用这个对象。在该对象中是一个包含带数字的数组的类。当我在另一个活动(电影)中使用它时,它会更改对象中的一个数字。然后我回到主菜单并进入一个新的活动(CurrentPrefs),在其中我在屏幕上显示数字数组。当我显示数字时,它们不包含电影文件中所做的更改。所以我开始尝试使用变量。

当我启动MainMenu(它是启动活动)时,它会设置对象。然后,当我输入电影并检查对象时,它仍然具有相同的名称(object.toString())。我还检查过以确保正确更改的值。

接下来我回到MainMenu并再次检查。该对象仍然具有相同的名称,并且值也像我在电影中更改了它们。

最后我输入了CurrentPrefs活动,那里出错了。该对象突然有一个不同的名称,它也不再包含我对它所做的更改。

为什么对象会发生变化,更重要的是,我如何确保它不会改变并在任何地方保持不变?

2 个答案:

答案 0 :(得分:1)

您的对象值更改的原因有很多。也许前一个Activity在你没有意识到的情况下被破坏并重新创建。

您应该查看Android的SharedPreference课程。这是一种存储,编辑和检索首选项的方法,可以在任何Activity中访问它们:

http://developer.android.com/reference/android/content/SharedPreferences.html

答案 1 :(得分:1)

如果你很了解活动的生命周期,你也可以理解它为什么会发生。您的某些操作可能会委派给onResume()方法,只要活动从onPause()onCreate()之后立即调用,而其他操作驻留在onCreate()仅在活动时调用开始或之后onDestroy()。我建议您控制它并尝试移动setText()中的所有onResume(),以便再次读取每个更新对象的变量。