1

我相信我正确地从 XML 初始化首选项。我的首选项屏幕也可以正常工作并反映正确的用户选择设置。

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

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

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

我的EditPreferences课只包含:

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

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

我有这样的预感,我所缺少的只是某处的一行,但我不知道在哪里:XML 文件?覆盖一个方法EditPreferences?其他?

4

2 回答 2

1

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

<EditTextPreference android:defaultValue="whatever" />
于 2011-05-20T13:52:12.867 回答
1

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

<CheckBoxPreference ...
   android:defaultValue="true" 
   ... />
于 2011-05-20T13:53:37.263 回答