2

私は2つの異なるを扱うアプリケーションをコーディングしていますCheckBoxes。一方CheckBoxがクリックされると、ティックの色は(緑ではなく)青になりますが、もう一方の色はCheckBox緑のままです。

これは私のコードです...

CheckBox green = (CheckBox) findViewById(R.id.greenButton);
CheckBox blue = (CheckBox) findViewById(R.id.blueButton);

blue.setOnCheckedChangeListener(new OnCheckedChangeListener(){
    public void onCheckedChanged(CompoundButton arg0, boolean arg1) {
        if(arg1){
            blue.setHighlightColor(Color.BLUE);
            Toast.makeText(getBaseContext(), "Question Marked As Partial", 4000).show();
        }
    }
});

green.setOnCheckedChangeListener(new OnCheckedChangeListener(){
    public void onCheckedChanged(CompoundButton arg0, boolean arg1) {
        if(arg1){
            blue.setHighlightColor(Color.GREEN);
            Toast.makeText(getBaseContext(), "Question Marked As Fully Understood!", 4000).show();
        }
    }
});

ただし、どちらのCheckBoxes目盛りも緑色のままで、Toastメッセージが表示されないので、OnCheckedChangeListener呼び出されることはないと思います。

誰かアドバイスをいただけますか?

4

1 に答える 1

1

が表示されていない場合はToast、リスナーが実際にに設定されていない可能性がありますCheckBoxes。言い換えれば、このコード全体が呼び出されていない可能性があります。

コードがメソッド内にある場合は、メソッドを呼び出してリスナーをに設定していることを確認するか、CheckBoxesこのコードが。などのメインメソッドの1つに含まれていることを確認してくださいonCreate()

まだわからない場合は、コードをデバッグする方法を学ぶ絶好の機会です。コードが呼び出されているかどうかをすばやく簡単に判断できます。

于 2012-06-19T03:03:20.987 に答える