2014-06-23 62 views
1

因此,要以编程方式更改该值,通常会执行findPreference("my_key")并获取首选项的参考以更改该值。从非PreferenceActivity/Fragment更改首选项值

如何编程不是在PreferenceActivityPreferenceFragment但在一个简单的ActivityFragment

是否有可能得到Preference参考(如果是这样,如何)?或者我应该这样做旧学校的方式得到SharedPreference参考,并使用Editor

回答

1

所以要以编程方式更改该值,您通常会执行findPreference(“my_key”)并获取首选项的引用以更改该值。

仅用于更改首选项UI中表示的值。事实上,它可能更新持续的价值是一个副作用,而不是目的。

是有可能得到一个偏好参考

或者我应该做的老同学的方式得到一个SharedPreference参考,并使用编辑器?

是的。

+0

你能否用一个例子更新答案?因为我无法以这种方式获得现有首选项的值 - getSharedPreferences(APP.PREFS_NAME,0).getString(“my_key”,“empty”));'我收到了“空” – HiB

+0

@HiB:您的评论与这个问题无关。如果你得到''空'',那么在'SharedPreferences'文件中没有一个名为''my_key''的偏好。你可能希望在你提供更多细节的地方打开你自己的堆栈溢出问题。 – CommonsWare

+0

谢谢,我[已经写了一个](http://stackoverflow.com/questions/25837236/how-to-change-preference-value-from-non-preferenceactivity-fragment) – HiB