Я новичок в разработке Android, и мне интересно, как локально сохранить состояние флажка, когда пользователь повторно открывает приложение, а флажок остается красным, желтым или зеленым. У меня есть код во фрагменте, и каждый раз, когда я открываю приложение, я установил красный цвет по умолчанию. У меня есть настраиваемые флажки, где они круглые, и когда пользователь нажимает на флажок, он остается отмеченным, но меняет цвет. Я много исследовал и пробовал SharedPreferences, но он не работает, и мне нужно знать, какова логика для того, чтобы пользователь щелкнул флажок и увидел, красный ли он, желтый или зеленый. То, что я видел, это то, что флажок установлен только один раз, и что он сохраняет состояние, если он отмечен или нет, но у меня есть флажки, которые проверяются несколько раз и каждый раз меняют цвет. Вот мой код для метода, который я использую для флажков:
public int checked(CheckBox checkBox, int count){
if (checkBox.isChecked()){
count++;
} else if (!checkBox.isChecked()){
checkBox.setChecked(true);
count++;
}
if (count == 1){
checkBox.setButtonDrawable(R.drawable.custom_yellow_checkbox);
}
if (count == 2){
checkBox.setButtonDrawable(R.drawable.custom_green_checkbox);
}
if (count > 2){
count = 0;
checkBox.setButtonDrawable(R.drawable.custom_red_checkbox);
}
return count;
}
Вот сам метод флажка, когда он отмечен.
chkStart.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
countStart = checked(chkStart, countStart);
}
});
Итак, мне интересно, есть ли способ сохранить состояние флажка внутри проверенного метода или использовать другие методы для этого. Если кто-нибудь знает, как сохранить состояние для флажков и чтобы они оставались определенными, при этом они проверялись 0, 1 или 2 раза, я был бы очень признателен. Заранее спасибо!