如何在第一次调用时初始化首选项屏幕?

时间:2011-05-20 13:46:59

标签: android sharedpreferences android-preferences preferenceactivity preferencescreen

我相信我是正确的initializing preferences from XML。我的首选项屏幕也可正常工作,并反映用户选择的正确设置。

然而,在第一次调用该首选项屏幕时,没有选中任何设置(复选框)或选中(列表)。当然,这会使用户感到困惑,因为它不反映当前(默认/初始)值。

因为我所做的只是调用首选项屏幕

startActivity(new Intent(this, EditPreferences.class));

我的EditPreferences课程只包含:

  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    addPreferencesFromResource(R.xml.usersettings);
  }

我不知道在哪里或如何告诉它使用默认设置预先初始化视觉显示。

我有这种预感,我所遗漏的只是一条线,但我不知道在哪里:XML文件?覆盖EditPreferences中的方法?其他

2 个答案:

答案 0 :(得分:1)

您可以在首选项上指定默认值(例如,在xml布局中):

<EditTextPreference android:defaultValue="whatever" />

答案 1 :(得分:1)

你不能在XML本身中定义默认值吗?

<CheckBoxPreference ...
   android:defaultValue="true" 
   ... />