android - 检查是否选中了任何复选框

标签 android checkbox actionlistener dayofweek

我的 android 应用程序中有工作日的复选框,我想放置一个监听器来检查是否选中了这些复选框中的任何一个,但我的方法似乎很难,有没有办法将所有这些监听器聚集到一个

 sun.setOnCheckedChangeListener(new OnCheckedChangeListener()
    {
    public void onCheckedChanged(CompoundButton buttonView, boolean isChecked)
        { if ( isChecked )
            {
            count=count+1;
                // perform logic
            }
        else
        {
            count=count-1;
        }
        }});

    mon.setOnCheckedChangeListener(new OnCheckedChangeListener()
    {
    public void onCheckedChanged(CompoundButton buttonView, boolean isChecked)
        { if ( isChecked )
            {
            count=count+1;
                // perform logic
            }
        else
        {
            count=count-1;
        }
        }});
    tue.setOnCheckedChangeListener(new OnCheckedChangeListener()
    {
    public void onCheckedChanged(CompoundButton buttonView, boolean isChecked)
        { if ( isChecked )
            {
            count=count+1;
                // perform logic
            }
        else
        {
            count=count-1;
        }
        }});
    wed.setOnCheckedChangeListener(new OnCheckedChangeListener()
    {
    public void onCheckedChanged(CompoundButton buttonView, boolean isChecked)
        { if ( isChecked )
            {
            count=count+1;
                // perform logic
            }
        else
        {
            count=count-1;
        }
        }});
    thu.setOnCheckedChangeListener(new OnCheckedChangeListener()
    {
    public void onCheckedChanged(CompoundButton buttonView, boolean isChecked)
        { if ( isChecked )
            {
            count=count+1;
                // perform logic
            }
        else
        {
            count=count-1;
        }
        }});
    fri.setOnCheckedChangeListener(new OnCheckedChangeListener()
    {
    public void onCheckedChanged(CompoundButton buttonView, boolean isChecked)
        { if ( isChecked )
            {
            count=count+1;
                // perform logic
            }
        else
        {
            count=count-1;
        }
        }});
    sat.setOnCheckedChangeListener(new OnCheckedChangeListener()
    {
    public void onCheckedChanged(CompoundButton buttonView, boolean isChecked)
        { if ( isChecked )
            {
            count=count+1;
                // perform logic
            }
        else
        {
            count=count-1;
        }
        }});

最佳答案

您可以检查被触发的 buttonView 的 ID 并进行适当的验证,您所要做的就是将相同的 onCheckListener 分配给复选框并执行如下所示的操作:

private OnCheckedChangeListener checkedListener = new OnCheckedChangeListener() {

    @Override
    public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
        switch(buttonView.getId()){
        case R.id.checkId1:
            //TODO: Code for checked one...
        break;
        case R.id.checkId2:
            //TODO: Code for checked two...
        break;
        }
    }
};

希望对您有所帮助!

问候!

关于android - 检查是否选中了任何复选框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21814150/

相关文章:

java - 我可以向未明确定义的 JButton 添加 ActionListener 吗?

java - 如何从抽屉导航中重新加载/刷新 fragment

android - Moshi改造错误: "Expected a string but was BEGIN_OBJECT"

javascript - 在 mouseenter 上,如果复选框被选中,则执行 X,否则执行 Y

JAVA UI ActionListener 2次连续点击带有if else语句的按钮

java - 简单计算器,其中创建了所有按钮并在 JButton 数组中添加了操作

Android项目如何使用/合并多个AndroidManifest.xml

android - 如何将使用 Angular v7 的 Web 应用程序迁移到移动 NativeScript 应用程序

javascript - 基于选中/未选中复选框的文本框值

javascript - 将 bool 复选框 ng-model 添加到对象 AngularJS