Android更改CheckBox检查颜色

时间:2012-06-19 02:44:06

标签: java android checkbox

我正在编写一个处理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

有人可以提供任何建议吗?

1 个答案:

答案 0 :(得分:1)

如果未显示Toast,则可能实际上未在CheckBoxes上设置您的侦听器。换句话说,也许这整段代码甚至都没有被调用。

如果您的代码位于方法中,请确保调用方法在CheckBoxes上设置侦听器,或确保此代码位于onCreate()等主要方法之一。

如果您还不知道,那么现在是学习如何调试代码的好时机 - 它可以非常快速,轻松地确定您的代码是否被调用。