在我的项目中,我在一个单选组下有两个单选按钮。默认情况下,第一个单选按钮被选中。当第一个单选按钮处于选中状态时,如果第二个单选按钮处于选中状态,则四个复选框将可见,所有四个复选框都将转到隐形状态。我不知道如何实现。有人可以建议我吗?
谢谢!!!
在我的项目中,我在一个单选组下有两个单选按钮。默认情况下,第一个单选按钮被选中。当第一个单选按钮处于选中状态时,如果第二个单选按钮处于选中状态,则四个复选框将可见,所有四个复选框都将转到隐形状态。我不知道如何实现。有人可以建议我吗?
谢谢!!!
它太简单了。之前您提到过,第一次选择您的第一个单选按钮时,您只需设置可见复选框的可见性。像
ch1.setVisibility(View.VISIBLE); // same for other checkboxes
当您当时选择第二个单选按钮时,为该复选框设置可见性GONE。像
ch1.setVisibility(View.GONE); // same for other checkboxes
更新:
radioGroup.setOnCheckedChangeListener(new OnCheckedChangeListener() {
@Override
public void onCheckedChanged(RadioGroup group, int checkedId) {
// TODO Auto-generated method stub
if(checkedId == R.id.urfirstR1)
{
ch1.setVisibility(View.VISIBLE);
else if(checkedId == R.id.ursecondr2)
{
ch1.setVisibility(View.GONE);
}
}
});
拿这个参考,在这种情况下做你的工作 http://www.mkyong.com/android/android-radio-buttons-example/
根据此示例,在一个布局下选择所有复选框,并且该布局不可见或可见
试试这个
radioGroup.setOnCheckedChangeListener(new OnCheckedChangeListener() {
@Override
public void onCheckedChanged(RadioGroup group, int checkedId) {
if(checkedId == R.id.firstradiobutton)
{
// visible all checkbox here
}
else if(checkedId == R.id.secondradiobutton)
{
// invisible all checkbox here
}
}
});
尝试以下解决方案。
默认情况下,您无需执行任何操作。和 onCheckchangelistener 使用下面的代码。
radiobutton2.setOnCheckedChangeListener(new OnCheckedChangeListener() {
@Override
public void onCheckedChanged(RadioGroup group, int checkedId) {
ch1.setVisibility(View.INVISIBLE);
ch2.setVisibility(View.INVISIBLE);
ch3.setVisibility(View.INVISIBLE);
ch4.setVisibility(View.INVISIBLE);
}
});
把它放在你的 onCreate 方法中。并根据您的 ID 名称替换复选框和单选按钮的 ID 名称。