java—有没有可能像用于按钮和复选框一样使用switch?

kokeuurv  于 2021-07-03  发布在  Java
关注(0)|答案(3)|浏览(251)

我想简化androidstudio中的代码。我用的纽扣

button.setOnClickListener(this);

后来呢

public void onClick(View v){
    switch (v.getId()){
        case R.id.button_1:
        ..;
        break;

等等
有没有类似的复选框方法?我什么也找不到。

14ifxucb

14ifxucb1#

是的,你可以用这个方法 setOnCheckedChangeListener ,它将为您提供两个属性,按钮和ischecked boolean,您应该为boolean使用switch语句,并为每个状态定义您自己的代码逻辑。

ifmq2ha2

ifmq2ha22#

一是落实 CompoundButton.OnCheckedChangeListener 在活动或片段中,然后在 onCreate() 找到你的 CheckBox 为他们设置一个活动,如下所示。

cb1.setOnCheckedChangeListener(this)
 cb2.setOnCheckedChangeListener(this)

最后,重写如下所需的方法

override fun onCheckedChanged(buttonView: CompoundButton?, isChecked: Boolean) {
    if (buttonView?.id == R.id.cb1) {
        Log.e("CB1","CB1")
    } else if(buttonView?.id==R.id.cb2) {
        Log.e("CB2","CB2")
    }
}
eqfvzcg8

eqfvzcg83#

为了 CheckBox 你也可以用 setOnClickListener() 方法。

checkBox.setOnClickListener(this);

public void onClick(View v) {
    switch (v.getId()) {
        case R.id.checkBox:
            if (checkBox.isChecked) {
                // code
            } else {
                // code         
            }
            break;
    }
}

相关问题