How can I have a separate preference for each checkbox saving whether it was clicked or not? I have code that works for one and I can repeat it to make it work for each one but I feel I should be able to change it so I don't have so much repeat code.
In onCreate
CheckBox checkbox = (CheckBox) findViewById(R.id.description);
CheckBox checkbox1 = (CheckBox) findViewById(R.id.description1);
SharedPreferences sharedPref = getSharedPreferences("mypref", MODE_PRIVATE);
SharedPreferences sharedPref1 = getSharedPreferences("mypref1", MODE_PRIVATE);
boolean checked = sharedPref.getBoolean("checked", false);
boolean checked1 = sharedPref1.getBoolean("checked1", false);
checkbox.setChecked(checked);
checkbox1.setChecked(checked1);
My click handler
public void handleCheckBoxClick(View view) {
CheckBox tmpChkBox = (CheckBox) findViewById(view.getId());
if(tmpChkBox.isChecked())
{
tmpChkBox.setBackgroundColor(Color.BLUE);
SharedPreferences sharedPref = getSharedPreferences("mypref", MODE_PRIVATE);
sharedPref.edit().putBoolean("checked", true).commit();
}
else
{
tmpChkBox.setBackgroundColor(Color.RED);
SharedPreferences sharedPref = getSharedPreferences("mypref", MODE_PRIVATE);
sharedPref.edit().putBoolean("checked", false).commit();
}
}
I got it to work by making another click handler and referring to that which you see in the onCreate where I make a whole separate preference. Is there a way to make one preference that can be used on each check box?
Aucun commentaire:
Enregistrer un commentaire