CheckBox也可以进行单选

直接上代码

1.配置文件

<LinearLayout
             android:orientation="vertical"
             android:layout_width="match_parent"
             android:layout_height="wrap_content"
             android:layout_marginTop="20dp"
             android:layout_marginLeft="10dp"
             android:contentDescription="problem">

             <CheckBox
                 android:id="@+id/checkBox1"
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
                 android:button="@drawable/radio"
                 android:text="@string/problem1"
                 android:paddingLeft="14dp"
                 android:textSize="15sp"/>
             <CheckBox
                 android:id="@+id/checkBox2"
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
                 android:button="@drawable/radio"
                 android:text="@string/problem2"
                 android:layout_marginTop="40dp"
                 android:paddingLeft="14dp"
                 android:textSize="15sp"/>
             <CheckBox
                 android:id="@+id/checkBox3"
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
                 android:button="@drawable/radio"
                 android:text="@string/problem3"
                 android:layout_marginTop="40dp"
                 android:paddingLeft="14dp"
                 android:textSize="15sp"/>

         </LinearLayout>

2.java文件

@Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_problem_report);

        cb_one = (CheckBox)findViewById(R.id.checkBox1);
        cb_two = (CheckBox)findViewById(R.id.checkBox2);
        cb_three = (CheckBox)findViewById(R.id.checkBox3);
        
        cb_one.setOnCheckedChangeListener(listener);
        cb_two.setOnCheckedChangeListener(listener);
        cb_three.setOnCheckedChangeListener(listener);

    }

    //将checkbox设置成单选的响应事件
    private CompoundButton.OnCheckedChangeListener listener = new CompoundButton.OnCheckedChangeListener() {
        @Override
        public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
            //checkbox1被选中
            if (buttonView.getId() == R.id.checkBox1){
                if (isChecked){
                    cb_two.setChecked(false);
                    cb_three.setChecked(false);
                }
            }
            //checkbox2被选中
            else if(buttonView.getId() == R.id.checkBox2){
                if (isChecked){
                    cb_one.setChecked(false);
                    cb_three.setChecked(false);
                }
            }
            //checkbox3被选中
            else if (buttonView.getId() == R.id.checkBox3){
                if (isChecked){
                    cb_one.setChecked(false);
                    cb_two.setChecked(false);
                }
            }
        }
    };

 

 

 

 

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值