-1

我正在比较字符串,如果所有字符串都相等,则必须显示一个对话框“ALL ARE EQUAL”,否则另一个对话框“NOT EQUAL”。我只想在警报对话框中使用确定按钮。我的代码:

if(s1.equals("yes") && s2.equals("yes") && s3.equals("yes") && s4.equals("yes"))
        showA();

showA()方法在哪里

private void showA() {
    AlertDialog.Builder ab = new AlertDialog.Builder(this);
    ab.setTitle("Hello!!");
    ab.setMessage("ALL ARE EQUAL");
    ab.setCancelable(false);
    ab.setPositiveButton("OK", new DialogInterface.OnClickListener() {

        @Override
        public void onClick(DialogInterface dialog, int which) {
            // TODO Auto-generated method stub

        }
    });
    AlertDialog ad = ab.create();

    ad.show();

}
4

6 回答 6

10

如果它没有进入方法内部,我认为您的字符串可能是“YES”或“Yes”。

如下图所示,你为什么不试试呢?

if(s1.equalsIgnoreCase("yes") && s2.equalsIgnoreCase("yes") && s3.equalsIgnoreCase("yes") && s4.equalsIgnoreCase("yes"))
    showA();
于 2012-12-20T09:10:28.757 回答
4

似乎您的字符串s1,s2,s3 &s s4处于未定义的情况下,最好使用equalsIgnoreCase,如下所示:

s1.equalsIgnoreCase("是")

反而

s1.equals("是")

于 2012-12-20T09:13:31.790 回答
2
if(s1.equalsIgnoreCase("yes") && s2.equalsIgnoreCase("yes") && s3.equalsIgnoreCase("yes") && s4.equalsIgnoreCase("yes"))      {
        showA();
} else {
     showB()
}

private void showA() {
    AlertDialog.Builder ab = new AlertDialog.Builder(this);
    ab.setTitle("Hello!!");
    ab.setMessage("ALL ARE EQUAL");
    ab.setCancelable(false);
    ab.setPositiveButton("OK", new DialogInterface.OnClickListener() {

        @Override
        public void onClick(DialogInterface dialog, int which) {
            // TODO Auto-generated method stub

        }
    });
    AlertDialog ad = ab.create();

    ad.show();    
}

private void showB() {
    AlertDialog.Builder ab = new AlertDialog.Builder(this);
    ab.setTitle("Hello!!");
    ab.setMessage("NOT EQUAL");
    ab.setCancelable(false);
    ab.setPositiveButton("OK", new DialogInterface.OnClickListener() {

        @Override
        public void onClick(DialogInterface dialog, int which) {
            // TODO Auto-generated method stub

        }
    });
    AlertDialog ad = ab.create();

    ad.show();   
}

你需要这样的东西。

于 2012-12-20T09:14:09.623 回答
1

你的代码工作得很好。只需确保您的字符串等于yes区分大小写。

于 2012-12-20T09:16:32.057 回答
0

首先,您必须检查 s1,s2,s3,s4 的值,然后进行比较。

你的代码是正确的,。

于 2012-12-20T09:23:07.133 回答
0
if(s1.equalsIgnoreCase("yes") && s2.equalsIgnoreCase("yes") && s3.equalsIgnoreCase("yes") && 

s4.equalsIgnoreCase("yes"))      {


       showAlertDialog("All ARE EQUAL");

} else {

     showAlertDialog("All ARE NOT EQUAL");
}



private void showAlertDialog(String msg){

    AlertDialog.Builder ab = new AlertDialog.Builder(this);
    ab.setTitle("Hello!!");
    ab.setMessage(msg);
    ab.setCancelable(false);
    ab.setPositiveButton("OK", new DialogInterface.OnClickListener() {

        @Override
        public void onClick(DialogInterface dialog, int which) {
            // TODO Auto-generated method stub

        }
    });
    AlertDialog ad = ab.create();

    ad.show();    

}

不要两次输入相同的代码,只需创建一个方法并传递您需要的参数即可。

于 2012-12-24T09:30:44.243 回答