J'ai utilisé un commutateur pour définir les notifications. Je veux enregistrer les notifications si le commutateur est coché, c'est-à-dire que la notification est activée.isChecked() renvoie la valeur true bien que le commutateur ne soit pas coché
Mais si je sur le commutateur et à nouveau sur le commutateur et enregistrer l'événement. Ensuite, la notification est également définie.
Comme j'ai fait le débogage sur if(isChecked() == true)
, il retourne vrai si je allume et éteint l'interrupteur une fois. Si je ne change pas l'état de switch, il retourne false.
Qu'est-ce qui ne va pas?
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);
}
}
});
sur Enregistrer:
if (notify.isChecked()) {
setNotificationTime(c);
}
ce qui va mal ici.?
-vous l'esprit pour retirer la barre de défilement horizontale de votre poste? – reporter