如何在android上调用函数复选框选中



我有一个活动,它包含4个复选框。所以我的问题是-当所有这些复选框被选中时,我希望弹出一个消息,应该说"做得好!",所以我的问题是我怎么做呢?

活动代码

复选框代码

将此代码添加到您的onCreate方法中。

注意:你可以使用一个复选框数组来缩短代码。

但是这将帮助你理解该做什么。

首先,必须在java文件中创建复选框变量。然后为每个复选框设置onCheckChanged监听器。

CheckBox cb1=(CheckBox)findViewById(R.id.checkBox);
CheckBox cb2=(CheckBox)findViewById(R.id.checkBox2);
CheckBox cb3=(CheckBox)findViewById(R.id.checkBox3);
CheckBox cb4=(CheckBox)findViewById(R.id.checkBox4);
cb1.setOnCheckedChangeListener(new OnCheckedChangeListener() {
    
    @Override
    public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
        if(cb1.isChecked()&&cb2.isChecked()&&cb3.isChecked()&&cb4.isChecked())
            Toast.makeText(getApplicationContext(),"Good job." , Toast.LENGTH_SHORT).show();
        
    }
});
cb2.setOnCheckedChangeListener(new OnCheckedChangeListener() {
    
    @Override
    public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
        if(cb1.isChecked()&&cb2.isChecked()&&cb3.isChecked()&&cb4.isChecked())
            Toast.makeText(getApplicationContext(),"Good job." , Toast.LENGTH_SHORT).show();
        
    }
});
cb3.setOnCheckedChangeListener(new OnCheckedChangeListener() {
    
    @Override
    public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
        if(cb1.isChecked()&&cb2.isChecked()&&cb3.isChecked()&&cb4.isChecked())
            Toast.makeText(getApplicationContext(),"Good job." , Toast.LENGTH_SHORT).show();
        
    }
});
cb4.setOnCheckedChangeListener(new OnCheckedChangeListener() {
    
    @Override
    public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
        if(cb1.isChecked()&&cb2.isChecked()&&cb3.isChecked()&&cb4.isChecked())
            Toast.makeText(getApplicationContext(),"Good job." , Toast.LENGTH_SHORT).show();
        
    }
});

在类开始之前插入这个import语句(公共类flygos2..)。你可以看到这里还有其他import语句

import android.widget.CheckBox;
import android.widget.CompoundButton;
import android.widget.CompoundButton.OnCheckedChangeListener;
  1. 在java文件中添加以下updateMessage
  2. android:onClick="updateMessage"添加到XML文件中的每个复选框中。这样,当我们选中/取消选中复选框时,updateMessage方法将被调用。
public void updateMessage(View view) {   
    String message = "";
    CheckBox cb1 = (CheckBox) findViewById(R.id.checkBox);
    CheckBox cb2 = (CheckBox) findViewById(R.id.checkBox2);
    CheckBox cb3 = (CheckBox) findViewById(R.id.checkBox3);
    CheckBox cb4 = (CheckBox) findViewById(R.id.checkBox4);
    if (cb1.isChecked() && cb2.isChecked() && cb3.isChecked() && cb4.isChecked()) {
        message = "Good Job";
    } else if (cb1.isChecked() && cb2.isChecked() && cb3.isChecked()) {
        message = "One Check box is missed";
    } else {
        message = "try again";
    }
}

最新更新