18

ここにこのコードがあります

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が壊れており、別の匿名リスナー内ではうまく機能しませんが、私が理解していないことは、コードに外部リスナーもあり、ダイアログボックスを表示するボタンのようなものであり、そのダイアログボックス内に、そのトグルを持つ別のダイアログボックスを開く追加ボタンがあることですボタンと、そのダイアログを閉じて前のダイアログに戻り、新しく追加されたレコードを表示する保存または追加用の別のボタン。外部リスナーで正常に動作します。

4

4 に答える 4

19

これを試してください、問題があるかもしれません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);
    }

}
});
于 2012-08-02T11:41:18.603 に答える
1

toggleAlarm.isChecked()ボタンがチェックされているかどうかも確認してください。

于 2012-08-02T11:27:43.287 に答える
0

だから私はcdrの助けを借りて観察しました。もちろん、私が投稿したこのコードブロックを別の匿名リスナー内に配置すると、保存ボタンのリスナーと言います。checkOnChangedListenerが壊れており、別の匿名リスナー内ではうまく機能しませんが、私が理解していないことは、私のコードには外部リスナーもあり、ダイアログボックスを表示するボタンのようなものであり、そのダイアログボックス内には、そのトグルボタンを持つ別のダイアログボックスを開く追加ボタンがあります保存または追加用の別のボタンで、そのダイアログを閉じて前のダイアログに戻り、新しく追加されたレコードが表示されるので、保存ボタンのリスナー内に置いたときになぜ壊れているのかは誰にもわかりませんが、機能します外側のリスナーでは問題ありません。

于 2012-09-19T14:02:01.797 に答える