0
我有这个访问我的偏好的小代码片段,以便当我的复选框是'真'时,然后播放音乐播放。否则它不会。我正在使用这个代码的教程,但我的没有。任何人都可以看到我的代码有问题吗?偏好设置不工作
当我运行应用程序,音乐播放不管,但我没有得到任何错误。
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.splash);
ourSong = MediaPlayer.create(Splash.this, R.raw.clip1);
SharedPreferences getPrefs = PreferenceManager.getDefaultSharedPreferences(getBaseContext());
boolean musicCheck = getPrefs.getBoolean("checkbox",true);
if (musicCheck == true){
ourSong.start();
}
首XML:
<EditTextPreference
android:title="EditText"
android:key="name"
android:summary="Enter your name"/>
<CheckBoxPreference
android:title="Music"
android:defaultValue="True"
android:key="Checkbox"
android:summary="For the Splash Screen"/>
<ListPreference
android:title="List"
android:key="list"
android:summary="This is a list"
android:entries="@array/list"
android:entryValues="@array/lvalues"
></ListPreference>
此处的默认值为true。所以,如果你没有正确编辑这个值,它总会是真的。向我们显示将复选框值保存到SharedPreferences的代码。 – 2013-03-05 18:51:02
偏好的名称实际上是“复选框”?如果您没有该名称的偏好,则默认为true,所以我的猜测是首选项不存在,您错误地将其命名为某处,因此您将获得默认值。 – 2013-03-05 18:51:20
显示您的偏好xml,请 – Geobits 2013-03-05 18:53:32