在我的项目中,我在一个广播组下面有两个单选按钮。默认情况下,第一个单选按钮被选中。当第一个单选按钮处于选中状态时,如果第二个单选按钮处于选中状态,则会看到四个复选框。所有四个复选框都将去了无形的状态。我不知道如何实现这一点。任何人都可以建议我吗?
谢谢!!!
答案 0 :(得分:2)
太简单了。之前您提到第一次选择第一个单选按钮时,您必须只为可见的复选框设置可见性。像
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);
}
}
});
答案 1 :(得分:0)
参考此参考并在此条件下完成您的工作 http://www.mkyong.com/android/android-radio-buttons-example/
选中一个布局下的所有复选框,并根据此示例隐藏或显示该布局
答案 2 :(得分:0)
试试这个
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
}
}
});
答案 3 :(得分:0)
尝试以下解决方案。
默认情况下,您无需执行任何操作。和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名称和单选按钮。