Подтвердить что ты не робот

Android: прослушиватель ToggleButton

ПОТОМУ ЧТО ЭТОТ РЕЗЬБА УЖЕ ПОДПИСАНО МЕНЯМИ И С ПОМОЩЬЮ CDR. POWELL... см. Отредактированный пост ниже

У меня есть этот код здесь

ToggleButton toggleAlarm = (ToggleButton) d.findViewById(R.id.toggle_alarm);

toggleAlarm.setOnCheckedChangeListener(new OnCheckedChangeListener() {

    public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {

        if(isChecked)
        {
            Log.d("alarmCheck","ALARM SET TO TRUE");
            sched.setAlarm(true);
        }
        else
        {
            Log.d("alarmCheck","ALARM SET TO FALSE");
            sched.setAlarm(false);
        }
    }
});

Мне нужно отслеживать, если оно включено или выключено.. но когда я зарегистрировал что-то, чтобы logcat, где его включено или выключено, он ничего не сделает. Я не знаю, что неправильно, потому что мой другой код такой же, синтаксис, но он работает я просто скопируйте его и измените только переменную ToggleButton.

ИЗМЕНИТЬ

Итак, я наблюдал с помощью cdr. Понятно, что если уложить этот кодовый блок, тот, который я опубликовал, внутри другого анонимного слушателя, скажем, слушателя для кнопки сохранения, checkOnChangedListener нарушен, он не работает хорошо внутри другого анонимного слушателя, но тот вещь, которую я не понимаю, так это то, что в моем коде есть внешний слушатель, как кнопка для отображения диалогового окна и внутри этого диалогового окна, есть кнопка добавления, которая открывает другое диалоговое окно, в котором есть эта кнопка переключения и еще одну кнопку для сохранения или добавления, которая закрывает это диалоговое окно и возвращается к предыдущему диалоговому окну, который затем отображает вновь добавленную запись, поэтому у каждого из вас есть идея, почему это сломано, когда я помещаю его внутри слушателя для кнопки сохранения, но работает штраф в внешнем слушателе.

4b9b3361

Ответ 1

Итак, я наблюдал с помощью cdr. Понятно, что если уложить этот кодовый блок, тот, который я опубликовал, внутри другого анонимного слушателя, скажем, слушателя для кнопки сохранения, checkOnChangedListener нарушен, он не работает хорошо внутри другого анонимного слушателя, но тот вещь, которую я не понимаю, так это то, что в моем коде есть внешний слушатель, как кнопка для отображения диалогового окна и внутри этого диалогового окна, есть кнопка добавления, которая открывает другое диалоговое окно, в котором есть эта кнопка переключения и еще одну кнопку для сохранения или добавления, которая закрывает это диалоговое окно и возвращается к предыдущему диалоговому окну, который затем отображает вновь добавленную запись, поэтому у каждого из вас есть идея, почему это сломано, когда я помещаю его внутри слушателя для кнопки сохранения, но работает штраф в внешнем слушателе.

Ответ 2

попробуйте это, может быть проблема с import

toggleAlarm.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {

@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
    if(isChecked)
    {
        Log.d("alarmCheck","ALARM SET TO TRUE");
        sched.setAlarm(true);
    }
    else
    {
        Log.d("alarmCheck","ALARM SET TO FALSE");
        sched.setAlarm(false);
    }

}
});

Ответ 3

Попробуйте toggleAlarm.isChecked() тоже посмотреть, отмечена ли кнопка или нет.

Ответ 4

Если toggleAlarm.isChecked() не работает для вас, вы всегда можете.

boolean _isChecked = false;
((ToggleButton) d.findViewById(R.id.toggle_alarm)).setOnClickListener(new OnOnClickListener() {
    public void onClick(View arg0) {
        _isChecked = !isChecked;            
        if(_isChecked()) {
            Log.d("alarmCheck","ALARM SET TO TRUE");
            sched.setAlarm(true);
        }
        else {
            Log.d("alarmCheck","ALARM SET TO FALSE");
            sched.setAlarm(false);
        }
    }
});