偏好经理

时间:2012-12-30 10:41:20

标签: android

通过preferences.xml,用户从listpref中选择4中的值。在第一次android运行preference()后,当用户再次通过listfref选择另一个值时,如何执行preference()?我在我的代码中放置preference()的地方?谢谢!

在MainActivity中,我

@Override
    public void onCreate(Bundle savedInstanceState){ 
      super.onCreate(savedInstanceState);

      preference();

[...] 我的代码:按钮,textview等 [...]

private void preferences() {

    SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getBaseContext());
    CheckboxPreference = prefs.getBoolean("checkboxPref", true);
    ListPreference = prefs.getString("listpref", "");

1 个答案:

答案 0 :(得分:1)

我想你想知道,如何获得最新的偏好或如何在用户更改偏好时通知您。您的preferences()方法查询最新的首选项。通过onCreate(...)方法中的调用首选项,可以在创建相应活动时检索最新首选项。在初步检索您的偏好后,我看到了两种获得最新偏好的可能性:

  • 在您需要时检索最新的首选项。在您需要最新的首选项之前调用您的首选项方法()。例如,如果您需要最新的首选项,请将其放在onUpdate(...)方法中。
  • 更改首选项时收到通知。使用侦听器来侦听首选项的更改。 SharedPreferences interface定义了OnSharedPreferenceChangeListener,您可以将其实现并传递给SharedPreferences。

我必须承认,第一种可能性是一个相当普遍的答案。 android developers storage options site提供了有关使用共享偏好设置的更多信息。