我在我的应用程序中具有声音开/关按钮,并且正在使用boolean运行它。但是问题在于用户的选择并不相同。页面刷新后,布尔值重新开始。而且我想如果用户将声音设置为打开,即使他再次关闭并打开应用程序,声音也应该打开。我尝试了SharedPreferences,但是无法正常工作。我不想只使用SQL。你有什么建议吗?
private boolean soundCheck = false;
soundOff.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if(!soundCheck){
soundCheck=true;
v.setBackgroundResource(R.drawable.ic_soundOn);
}else {
soundCheck=false;
v.setBackgroundResource(R.drawable.ic_mute);
}
}
});
if(soundCheck){
playSound.start();
}else {
playSound(R.raw.silence);
}
我尝试使用sharedPreferences
private boolean soundCheck;
final SharedPreferences GET = PreferenceManager.getDefaultSharedPreferences(this);
final SharedPreferences.Editor SET = GET.edit();
soundOff.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if(!soundCheck){
SET.putBoolean("soundCheck",true);
v.setBackgroundResource(R.drawable.ic_soundOn);
}else {
SET.putBoolean("soundCheck",false);
v.setBackgroundResource(R.drawable.ic_mute);
}
}
});
@@ Jane,在共享首选项中设置了值之后,您必须应用这些更改。“ SET.putBoolean(” soundCheck“,true).apply();”