如何在Android工作室中重载Checkbox相关功能

问题描述 投票:0回答:1
@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)上使用;

android-checkbox
1个回答
0
投票

你有两个选择:

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

我建议采用第二种方法:

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

    .. etc
}
© www.soinside.com 2019 - 2024. All rights reserved.