如何在Android Studio中重载与复选框相关的功能

时间:2019-04-12 12:28:05

标签: android-checkbox

@Override
public void setChecked(boolean checked) {
    CheckBox checkb = (CheckBox) findViewById(R.id.a);
    if (checkb.isChecked() != checked) {
        checkb.setChecked(checked) ;
    }
}

@Override
public boolean isChecked() {
    CheckBox checkb = (CheckBox) findViewById(R.id.a);

    return checkb.isChecked() ;
}

@Override
public void toggle() {
    CheckBox checkb = (CheckBox) findViewById(R.id.a);
    setChecked(checkb.isChecked() ? false : true) ;
}

这就是定义一个类的方式。 如果要在其他复选框中使用这些功能,该如何修改? 例如,可以在findViewByld(R.id.b);

上使用

1 个答案:

答案 0 :(得分:0)

您有两种选择:

  • 覆盖CheckBox对象(通过继承重用方法)
  • 添加CheckBoxHelper(委托重用方法)

我建议第二种方法:

class CheckBoxHelper {
    public void setChecked(CheckBox c, boolean checked) {
        if (c.isChecked() != checked) {
            c.setChecked(checked) ;
        }
    }

    .. etc
}