我一直在试图做的是保存与sharedpreferences按下按钮时的状态。当按钮是默认的时候,它是白色的,但是当按下时,它是黑色的。即使当我按下返回按钮或从其他活动或应用程序返回时,我也希望该按钮保持黑色。我一直在努力解决这个问题几天,这让我觉得我的编程不是很好。请问有人能帮我吗?这是我的代码。如何保持按钮颜色
fb1 = (Button) findViewById(R.id.button1);
fb1.setBackgroundResource(R.drawable.not_pressed);
fb1.setOnClickListener(new OnClickListener() {
boolean isPressed = true;
//boolean isPressed1 = true;
@Override
public void onClick(View v) {
//isPressed = sharedPrefs.getBoolean("locked", false);
fb1.setEnabled(sharedPrefs.getBoolean("locked", true));
System.out.println("BOOL" + isPressed);
if (!isPressed) {
fb1.setBackgroundResource(R.drawable.not_pressed);
fr1 = 0;
//fb1.setEnabled(false);
//sharedPrefs.edit().putBoolean("locked", fb1.isEnabled()).commit();
} else {
fb1.setBackgroundResource(R.drawable.pressed);
fr1 = 128;
//fb1.setEnabled(true);
//savePreferences("locked", fb1.isEnabled());
sharedPrefs.edit().putBoolean("locked", fb1.isEnabled()).commit();
}
isPressed = !isPressed;
}
});
你为什么会注释掉isPressed = sharedPrefs.getBoolean()调用?如果您不更改其默认值,isPressed将始终为真。当您的按钮处于“按下”状态时,您也只是将状态保存为共享首选项。 – personne3000 2014-09-30 08:24:01