[英]RadioButton-CheckBox Combo
对于我的特定应用程序,我希望能够通过触摸它来打开和关闭单选按钮,类似于复选框。 但是,我需要单选按钮在它们的组中互斥。 有64个按钮和8个组,所以我不想使用复选框并手动设置切换功能。 我可以将onTouchListener()
与onTouchListener()
按钮一起使用吗? 有什么办法可以做到这一点? 预先感谢您的支持。
您正在寻找既不是复选框也不是单选按钮的UI范式。 最好的选择是使用复选框,然后在此之上实现互斥。 例如,
myCheckbox1.setOnCheckChangedListener(new OnCheckChangedListener() {
@Override
public void onCheckChanged(CompoundButton buttonView, boolean isChecked) {
if (isChecked) {
myCheckbox2.setChecked(false);
myCheckbox3.setChecked(false);
myCheckbox4.setChecked(false);
// start playback
} else {
// stop playback
}
}
);
请注意,如果您能够枚举每个组的所有按钮ID,则可以通用地编写代码,例如,
if (isChecked) {
int myGroup = (Integer) buttonView.getTag(); // Define the group in the view's tag
for (int id: groups.get(myGroup)) {
if (id != buttonView.getId()) ((CompoundButton) findViewById(id)).setChecked(false);
}
另一个更复杂的答案是构建自己的UI小部件,并为其提供所需的任何语义。 不过,这不在我可以描述的范围之内。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.