从不同的 Activity 访问共享首选项 (Android)
当您建立如下所示的共享首选项时...
public static final String PREFS_HI = "MyPrefsFile";
您可以像平常一样从其他活动访问它吗?
SharedPreferences settings = getSharedPreferences(PREFS_HI, 0);
或者您是否必须执行某些特殊操作才能访问首选项?
When you establish a shared preference such as below...
public static final String PREFS_HI = "MyPrefsFile";
Can you access it from other activities just like you would normally do?
SharedPreferences settings = getSharedPreferences(PREFS_HI, 0);
Or is there something unique that you must do to access the preferences?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
我会将您的共享首选项名称(您所称的 PREFS_HI)存储在资源 xml 文件 (strings.xml) 中。然后你就可以使用 getSharedPreferences(getResources().getString(R.string.sharedPrefs)) 。不过,您的解决方案也有效。 (并且您的版本的性能可能会稍好一些。)
I would store your shared preferences name (What you are calling PREFS_HI) in the resources xml file (strings.xml). Then you can just use
getSharedPreferences(getResources().getString(R.string.sharedPrefs))
. Your solution works as well, though. (And the performance may be slightly better in your version.)我自己解决了这个问题。我只是使用全局变量并在其中存储共享首选项。当另一个活动想要访问首选项时,它会简单地访问全局变量。
Figured this out myself. I just used global variables and stored sharedpreferences inside there. When another activity wanted to access the preferences, it would simple access a global variable.
getApplication().getSharedPreferences(name, mode) 试试这个
getApplication().getSharedPreferences(name, mode) try this