Android中的CompoundButton是一个抽象类,它继承自Button类,并实现了Checkable接口。CompoundButton可以看做是一个可以有多个状态的按钮,比如Checkbox和Switch。
CompoundButton的常用子类有Checkbox、RadioButton和Switch。
使用CompoundButton的步骤如下:
<CheckBox
android:id="@+id/checkbox"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Checkbox" />
<RadioButton
android:id="@+id/radiobutton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="RadioButton" />
<Switch
android:id="@+id/switch"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
CheckBox checkbox = findViewById(R.id.checkbox);
checkbox.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
// 处理Checkbox的选中状态改变事件
}
});
RadioButton radiobutton = findViewById(R.id.radiobutton);
radiobutton.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
// 处理RadioButton的选中状态改变事件
}
});
Switch switchButton = findViewById(R.id.switch);
switchButton.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
// 处理Switch的选中状态改变事件
}
});
在监听器的回调方法中,可以根据isChecked参数来判断CompoundButton的选中状态。