2016-12-05 54 views

回答

0

至於你提到的設置我假設你使用SharedPreferences - 如果不是請你,因爲它是旁觀者方式來實現settings - 在這種情況下,它是很容易使:

SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(this); 
      boolean key = sharedPreferences.getBoolean("playsound", false); 
+0

我在哪裏寫的? onCreate方法中的 – icecreamwaffles1

+0

請參閱MrOrhan。 – humazed

0

我用了在我的代碼中切換'按鈕'來解決像u這樣的問題。這裏有一個例子

SharedPreferences pref;  
SharedPreferences.Editor editor; 
MediaPlayer backgroundmusik; 
Switch mute; 
View dummysetting; 

protected void onCreate(Bundle savedInstanceState) 
{ 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.checksound_layout); 
     //SHARED PREFERENCES 
     pref = getSharedPreferences("your_label",MODE_PRIVATE);//label to find in Manifest 
     editor = pref.edit(); 

backgroundmusik = MediaPlayer.create(this,R.raw.dingdong); 
     dummysetting = (View) View.inflate(this, R.layout.setmute_layout,null); //you need that dummy, when u want to check ur button when u are on a different layout other way you get nullpointer. 
     mute=(Switch)dummysetting.findViewById(R.id.mute); 
     mute.setChecked(pref.getBoolean("Musik", true));//set true or false, its the 'status' when start for the first time after u install app. 
     if (mute.isChecked()) 
     { 
      backgroundmusik = MediaPlayer.create(Hauptmenue.this,R.raw.dingdong); 
      backgroundmusik.setLooping(true); 
      backgroundmusik.start(); 
     } 
}//close oncreat 

現在你可以在同一個活動上的另一個地方設置類似的靜音按鈕:

 setContentView(dummysetting); 

     mute.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { 
      @Override 
      public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { 
       if(isChecked) 
       { 
        backgroundmusik = MediaPlayer.create(MAinactivity.this,R.raw.dingdong); 
        backgroundmusik.setLooping(true); 
        backgroundmusik.start(); 

        editor.putBoolean("Musik", true); 
        editor.commit();//safe the edit 
       }else 
       { 
        backgroundmusik.stop(); 
        editor.putBoolean("Musik", false); 
        editor.commit();//safe the edit 
       } 
      } 
     }); 
}//close main. 

這只是一個例子。我喜歡從我的代碼粘貼一些代碼。如果不工作,你可以再問一次。 當您在活動中聲明並調用它們時,您可以使用共享首選項。只需要:

SharedPreferences pref;  
SharedPreferences.Editor editor; 

然後在oncreat

pref = getSharedPreferences("your_label",MODE_PRIVATE); 
editor = pref.edit(); 

,然後當u安全作爲

editor.putBoolean("**Musik**", true); 
editor.commit();//safe the edit 

u必須索要 「MUSIK」 又像:

pref.getBoolean("Musik", true)

來閱讀。

相關問題