繁体   English   中英

Android更改复选框颜色

[英]Android Changing CheckBox Checked Color

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

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

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

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

如果您还不知道,那么这将是学习如何调试代码的好时机-它使确定是否正在调用代码真的非常快捷。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM