我已经有一些偏好,比如工作EditTextPreference
等,以及所有他们的工作,但现在我需要使用RingtonePreference
,它不能正常工作。 这里是非常简单的代码:
<RingtonePreference
android:key="my_ringtone_key"
android:title="Select ringtone"
/>
当我点击这个喜好,标识不打开对话框,选择铃声,但它不保存它 。 我的意思是,我选择的铃声,按“确定”,然后再次单击此偏好,仍然没有铃声选择。
如果我尝试从代码中获得价值,这样的:
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
String tmp = prefs.getString("my_ringtone_key", "none");
然后tmp
有默认值“无”,这意味着价值完全没有存储在SharedPreferences
。
但是 :如果我改变RingtonePreference
到EditTextPreference
,即如下:
<EditTextPreference
android:key="my_ringtone_key"
android:title="Select ringtone"
/>
然后,所有的工作:我可以编辑值,值存储,当然我可以从代码得到它。
我使用API 7级。我测试了在仿真器和两个设备,SE的Xperia neo和一些宏碁。
那么,如何获得RingtonePreference
工作? 并请加评论,如果RingtonePreference
不为你工作或没有。