public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ib1= (ImageButton) findViewById(R.id.imageButton1);
getpref();
ib1.setOnClickListener(new OnClickListener() {
public void onClick(View arg0) {
if(sound==true){
sound=false;
ib1.setImageResource(R.drawable.volume);
}
else{
sound=true;
ib1.setImageResource(R.drawable.vol);
}
}
});
};
public void getpref() {
SharedPreferences prefs = this.getSharedPreferences("myPrefsKey", Context.MODE_PRIVATE);
Boolean sh_sound = prefs.getBoolean("key", true);
sound=sh_sound;
if(sh_sound==true){
SharedPreferences pref = this.getSharedPreferences("myPrefsKey", Context.MODE_PRIVATE);
Editor editor = pref.edit();
editor.putBoolean("key", sh_sound);
editor.commit();
checkpref(sh_sound);
}
else{
SharedPreferences pref = this.getSharedPreferences("myPrefsKey", Context.MODE_PRIVATE);
Editor editor = pref.edit();
editor.putBoolean("key", sh_sound);
editor.commit();
checkpref(sh_sound);
}
}
public void checkpref(Boolean sh_sound) {
if(sh_sound== true){
ib1.setImageResource(R.drawable.vol);
}
else{
ib1.setImageResource(R.drawable.volume);
}
}
我想保存圖片點擊的首選項,當我重新打開活動時,上一次選擇的選擇應該在那裏,但我無法存儲首選項,它會在我重新打開時顯示默認圖像。無法保存圖片點擊共享首選項?
默認視圖
選擇圖像存儲的偏好後
重新開放活動
您可以將'setSoundChecked(sound)'移出if-else。 – rusmus
當然。沒有注意到。謝謝。 –