Я использовал переключатель для установки уведомлений. Я хочу сохранить уведомления, если переключатель установлен, то есть уведомление включено.isChecked() возвращает true, хотя переключатель не установлен
Но если я на выключателе и снова выключу переключатель и сохраните событие. Затем также устанавливается уведомление.
Как я отлаживал на if(isChecked() == true)
, он возвращает true, если я включаю и выключаю один раз. Если я не изменю состояние переключателя, он вернет false.
Что случилось?
notify.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView,
boolean isChecked) {
if (isChecked) {
linearSelectTime.setEnabled(true);
linearSelectTime.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
final AlertDialog.Builder builder = new AlertDialog.Builder(AddEventActivity.this);
int selected = 0;
builder.setSingleChoiceItems(R.array.time_array, selected,
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int item) {
String[] time = getBaseContext().getResources().getStringArray(R.array.time_array);
notifyTime.setText(time[item]);
notificationTime = time[item];
dialog.dismiss();
}
});
builder.show();
}
});
} else {
alarmManager = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
intent = new Intent(getApplicationContext(), NotificationReceiver.class);
pendingIntent = PendingIntent.getBroadcast(getApplicationContext(), RQS_1, intent, 0);
alarmManager.cancel(pendingIntent);
notificationTime = "";
notifyText.setVisibility(View.INVISIBLE);
linearSelectTime.setEnabled(false);
}
}
});
при сохранении:
if (notify.isChecked()) {
setNotificationTime(c);
}
Что происходит здесь не так.?
Вы не возражаете, чтобы удалить горизонтальную полосу прокрутки из вашего поста? – reporter