为什么你不想让镜头在放弃后保持变焦?
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.menu_old);
SharedPreferences preferences = getSharedPreferences("goodnight", MODE_PRIVATE);
yourCheckBox = (CheckBox) findViewById( R.id.fonarb );
yourCheckBox.setChecked(preferences.getBoolean("lol", false));
yourCheckBox.setOnCheckedChangeListener(new OnCheckedChangeListener()
{
@Override
public void onCheckedChanged(CompoundButton yourCheckBox,
boolean isChecked) {
if (isChecked){
Parameters params = camera.getParameters();
params.setZoom(5);
camera.setParameters(params);
}
else {
Parameters params = camera.getParameters();
params.setZoom(0);
camera.setParameters(params);
}
}
});
public void onStop() {
super.onStop();
SharedPreferences settings = getSharedPreferences("goodnight", MODE_PRIVATE);
SharedPreferences.Editor editor = settings.edit();
editor.putBoolean("lol", yourCheckBox.isChecked());
editor.commit();
}
答案 0 :(得分:1)
在设置复选框之前,您是否尝试注册听众?
只需交换以下两行:
yourCheckBox.setChecked(preferences.getBoolean("lol", false));
yourCheckBox.setOnCheckedChangeListener...
获得
yourCheckBox.setOnCheckedChangeListener...
yourCheckBox.setChecked(preferences.getBoolean("lol", false));
只要你在复选框上有一个监听器(我建议你使用OnClickListener而不是onCheckedChange),你就不需要覆盖onStop。
但是如果你想覆盖onStop,我还建议你在开头使用onStop方法调用super.onStop,而不是在开头。
顺便说一下,您可以使用PreferenceActivity自动保存选项。
此致 斯特凡