Android中的CompoundButton是一個抽象類,它繼承自Button類,并實現(xiàn)了Checkable接口。CompoundButton可以看做是一個可以有多個狀態(tài)的按鈕,比如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的選中狀態(tài)改變事件
}
});
RadioButton radiobutton = findViewById(R.id.radiobutton);
radiobutton.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
// 處理RadioButton的選中狀態(tài)改變事件
}
});
Switch switchButton = findViewById(R.id.switch);
switchButton.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
// 處理Switch的選中狀態(tài)改變事件
}
});
在監(jiān)聽器的回調(diào)方法中,可以根據(jù)isChecked參數(shù)來判斷CompoundButton的選中狀態(tài)。