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