如果未选中任何复选框,则返回消息

时间:2018-04-20 15:11:23

标签: java android

如何在此代码中实施更多功能,以便它返回一条消息,告知用户至少选择一个复选框。如果他/她没有选择任何?

public void verificaCheckBox() {

    Listcheck.clear();

    if (cbPapel.isChecked())
        Listcheck.add(cbPapel.getText().toString());

    if (cbPlastico.isChecked())
        Listcheck.add(cbPlastico.getText().toString());

    if (cbMetal.isChecked())
        Listcheck.add(cbMetal.getText().toString());

    if (cbVidro.isChecked())
        Listcheck.add(cbVidro.getText().toString());

    cbSelecionado = (Listcheck.toString());
}

3 个答案:

答案 0 :(得分:0)

public String verificaCheckBox(){

Listcheck.clear();

if (cbPapel.isChecked())
    Listcheck.add(cbPapel.getText().toString());

if (cbPlastico.isChecked())
    Listcheck.add(cbPlastico.getText().toString());

if (cbMetal.isChecked())
    Listcheck.add(cbMetal.getText().toString());

if (cbVidro.isChecked())
    Listcheck.add(cbVidro.getText().toString());


    cbSelecionado = (Listcheck.toString());

return Listcheck.isEmpty() ? "Message goes here" : "";

}

然后,无论何处调用,它都可以检查返回是否为空字符串或消息。如果您只是想向用户显示一条消息,您可以这样做:

public void verificaCheckBox(){

Listcheck.clear();

if (cbPapel.isChecked())
    Listcheck.add(cbPapel.getText().toString());

if (cbPlastico.isChecked())
    Listcheck.add(cbPlastico.getText().toString());

if (cbMetal.isChecked())
    Listcheck.add(cbMetal.getText().toString());

if (cbVidro.isChecked())
    Listcheck.add(cbVidro.getText().toString());


    cbSelecionado = (Listcheck.toString());

if(Listcheck.isEmpty()) {
    Toast.makeText(applicationContext, "Your message", Toast.LENGTH_SHORT).show();
}


}

答案 1 :(得分:0)

尝试使用警报对话框来完成此操作。 我相信以下链接提供了有关如何执行此操作的更多相关详细信息: I found the algorithm here

以更简单的步骤为您提供:

  • 在代码末尾添加else语句。
  • 使用“警报”对话框通知用户需要进行的更改。

答案 2 :(得分:0)

我不确定我是否理解了您的问题,但如果您想向用户发送消息,可以使用if (Listcheck.size() == 0) Toast.makeText(this, "select at least one checkbox", Toast.LENGTH_SHORT).show();

例如:

{{1}}