我有一堆EditTextPreferences和一個TimePickerPrefernce(我創建的)以及一個CheckBoxPreference,並且EditTextPreference或TimePickerPreference都沒有保存,但CheckBox確實如此。我認爲這可能是因爲我在PreferenceActivity子類中的最低限度,但看到複選框被保存的方式,我不確定是否是這樣。我的PreferenceActivity中的對話框偏好設置沒有被保存
我已經搜遍了,一切似乎都說應該自動保存首選項,我找不到任何他們不會的原因。
這裏是我的偏好XML文件:
<PreferenceCategory android:title="@string/settings_general_header" >
<EditTextPreference
android:defaultValue="15"
android:summary="@string/settings_time_to_sleep"
android:title="@string/settings_time_to_sleep_title"
android:numeric="integer" />
<EditTextPreference
android:defaultValue="90"
android:summary="@string/settings_sleep_cycle_time_summary"
android:title="@string/settings_sleep_cycle_minutes"
android:numeric="integer" />
<EditTextPreference
android:defaultValue="5"
android:summary="@string/how_many_results"
android:title="@string/settings_results_to_show_title"
android:numeric="integer" />
</PreferenceCategory>
<PreferenceCategory android:title="@string/wakeupat_settings_header" >
<CheckBoxPreference
android:key="@string/save_wakeupat_time"
android:title="@string/save_wakeupat_time" android:defaultValue="false"/>
<TimePickerPreference
android:dependency="@string/save_wakeupat_time"
android:title="@string/wakeupat_preferred_time" />
</PreferenceCategory>
,這裏是我的PreferenceActivity子類:
package com.krej.timeforbed;
import java.util.List;
import android.os.Bundle;
import android.preference.PreferenceActivity;
import android.preference.PreferenceFragment;
import android.preference.PreferenceManager;
import android.util.Log;
import android.widget.Button;
public class Settings extends PreferenceActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.settings);
}
}
啊,這很有道理!現在一切似乎都在起作用。謝謝! – krej 2012-02-12 21:18:35