我试图设计一个带有相对布局内部复选框的布局。相对布局是可点击的并且按预期工作,但是当单击该复选框时,它会运行复选框代码和相对视图代码。
在运行复选框时,有没有忽略相对布局OnClickListener
?
RelativeLayout holder = new RelativeLayout(context);
contactHolder.setId(View.generateViewId());
TextView name = new TextView(context);
final CheckBox checkBox = new CheckBox(context);
checkBox.setId(View.generateViewId());
name.setText(contact.getName());
name.setId(View.generateViewId());
holder.addView(name);
holder.addView(checkBox);
checkBox.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (!checkBox.isChecked()) {
checkBox.setChecked(true);
}
else if (checkBox.isChecked()){
checkBox.setChecked(false);
}
}
});
holder.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (!checkBox.isChecked()) {
checkBox.setChecked(true);
}
else if (checkBox.isChecked()){
checkBox.setChecked(false);
}
}
});
userView.addView(holder);
}
答案 0 :(得分:0)
在Relativelayout中使用它
android:clickable="true"
答案 1 :(得分:0)
从复选框中删除侦听器。然后更改RelativeLayout侦听器中的逻辑,以根据复选框的状态执行操作。