如何在 Android 工作室中重载复选框相关功能

How to Overload Checkbox Related Functions in Android Studios

@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) ;
}

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

上使用

你有两个选择:

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

我建议第二种方法:

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

    .. etc
}