在我制作的应用程序中,我在 MainMenu Activity 中有一个名为 Preferences 的类的对象。我想在多个页面中使用这个对象。在对象中是一个包含数字数组的类。当我在另一个 Activity (电影)中使用它时,它会更改对象中的一个数字。然后我返回主菜单并进入一个新 Activity (CurrentPrefs),在该 Activity 中我在屏幕上显示数字数组。当我显示数字时,它们不包含在电影文件中所做的更改。所以我开始对变量进行一些测试。
当我启 Action 为启动 Activity 的 MainMenu 时,它会设置对象。然后,当我进入电影并检查对象时,它仍然具有相同的名称 (object.toString())。我还进行了检查以确保值已正确更改。
接下来我回到 MainMenu 并再次检查。该对象仍然具有相同的名称和值,就像我在 Film 中更改它们一样。
最后我进入了 CurrentPrefs Activity ,但它出错了。该对象突然有了不同的名称,它也不再包含我对其所做的更改。
为什么对象发生了变化,更重要的是,我如何确保它不会发生变化并在任何地方都保持不变?
最佳答案
对象的值发生变化的原因有很多。也许之前的 Activity
在您没有意识到的情况下被销毁并重新创建。
您应该查看 Android 的 SharedPreference
类。它是一种存储、编辑和检索首选项并可以在任何 Activity
中访问它们的方法:
http://developer.android.com/reference/android/content/SharedPreferences.html
关于android - 不同的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19143334/