我在我的應用程序中有一個鈴聲首選項,但是當我選擇我想要的鈴聲時,它不會存儲在首選項值中。我可以再次點擊該偏好設置,它不會顯示我剛剛選擇的內容。鈴聲首選項不保存選擇
這裏是XML
<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen
xmlns:android="http://schemas.android.com/apk/res/android">
<PreferenceCategory android:title="Audio Settings">
<CheckBoxPreference
android:key="SMS_PREF_TTS"
android:title="Say name of sender"
android:summary="When a person in your contact list sends you a sms/mms message its says their name"
android:defaultValue="false">
</CheckBoxPreference>
<CheckBoxPreference
android:key="SMS_PREF_TTS_MSG"
android:title="Say Message"
android:summary="Will say the message of sender from contact list"
android:dependency="SMS_PREF_TTS"
android:defaultValue="false">
</CheckBoxPreference>
<RingtonePreference
android:key="SMS_PREF_SOUND"
android:title="Change Sound"
android:ringtoneType="notification"
android:summary="Select the notification Sound"
android:dialogTitle="Change Sound"
android:defaultValue="Silent">
</RingtonePreference>
</PreferenceCategory>
</PreferenceScreen>
和奇怪的是我剛寫的另一個XML我的應用程序的其他部分與鈴聲偏好看同樣的方式和一個作品,所以我不明白。
這裏是工作的一個
<RingtonePreference
android:key="CAL_PREF_TONE"
android:title="Default ringtone"
android:summary="Select default notification ringtone"
android:ringtoneType="notification"
android:defaultValue="Silent"
android:dependency="CAL_PREF_ON">
</RingtonePreference>
我能想到的唯一的事情就是你在其他一些pref中使用了SMS_PREF_SOUND,並且這會覆蓋你的選擇。除此之外(除非你在PreferenceActivity中做某件事),絕對沒有理由不存儲它。 – IncrediApp
我也嘗試過改變'鑰匙',它仍然不能保存它 – tyczj