나는 안드로이드를 처음 접했고 체크 박스가 체크되어있을 때 알람을 시작하고 확인란의 상태를 유지하는 앱을 만들어야합니다. 확인란의 값을 저장하고 알람을 시작하기 위해 int를 사용하려고했지만 작동하지 않습니다.체크 박스와 알람 상태 저장하기
public int getValueC(String key) {
SharedPreferences sharedPref = getPreferences(Context.MODE_PRIVATE);
int value = sharedPref.getInt(key, 0);
return value;
}
public void saveValueC(String key, int value) {
SharedPreferences sharedPref = getPreferences(Context.MODE_PRIVATE);
SharedPreferences.Editor editor = sharedPref.edit();
editor.putInt(key, value);
editor.apply();
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_a_d_q);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
final CheckBox checkBox1 = (CheckBox) findViewById(R.id.mc);
final String keyC = "somekeyC";
c = getValueC(keyC);
checkBox1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
c++;
saveValueC(keyC,c);
if (c%2==0){
Toast ToastMessage = Toast.makeText(getApplicationContext(), "off", Toast.LENGTH_LONG);
//View toastView = ToastMessage.getView();
//toastView.setBackgroundColor(Color.YELLOW);
ToastMessage.show();
alarmManagers.cancel(pendingIntent);
}
else{
Toast ToastMessage = Toast.makeText(getApplicationContext(), "on", Toast.LENGTH_LONG);
//View toastView = ToastMessage.getView();
//toastView.setBackgroundColor(Color.YELLOW);
ToastMessage.show();
alarmManagers.setRepeating(AlarmManager.RTC, calendar.getTimeInMillis(),2*60*1000,pendingIntents);
checkBox1.isChecked();
}});
if (c%2==0){
Toast ToastMessage = Toast.makeText(getApplicationContext(), "Even number", Toast.LENGTH_LONG);
//View toastView = ToastMessage.getView();
//toastView.setBackgroundColor(Color.YELLOW);
ToastMessage.show();
}
else{
checkBox1.isChecked();
}
경보가 제대로 작동하기 때문에 경보 관리자와 의도 코드가 포함되지 않았습니다. 나는 값을 체크 박스에 저장하고 체크 할 때 필요하다. 알람을 켜고 확인란의 상태를 저장해야합니다. 확인되지 않은 경우 알람을 끄고 체크 박스의 시작을 저장해야합니다.
나는 그것을 고치려고 몇 시간을 보냈습니다. 문제를 안다면 plz 알려주세요. 감사합니다