我正在比较字符串,如果全部相等则必须显示一个对话框“ALL ARE EQUAL”,否则另一个对话框“NOT EQUAL”。我想在Alert Dialog中只使用OK按钮。我的代码:
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();
}
答案 0 :(得分:10)
如果它没有进入方法,我认为你的字符串可能是“是”或“是”。
为什么不尝试如下所示?
if(s1.equalsIgnoreCase("yes") && s2.equalsIgnoreCase("yes") && s3.equalsIgnoreCase("yes") && s4.equalsIgnoreCase("yes"))
showA();
答案 1 :(得分:4)
似乎你的字符串s1,s2,s3 &s s4
处于未定义的情况下,最好使用equalsIgnoreCase,如下所示:
s1.equalsIgnoreCase(“yes”)
而不是
s1.equals( “是”)
答案 2 :(得分: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();
}
你需要这样的东西。
答案 3 :(得分:1)
您的代码绝对正常。
只需确保您的字符串等于yes
区分大小写。
答案 4 :(得分:0)
首先,您必须检查s1,s2,s3,s4的值,然后进行比较。
你的代码是对的。
答案 5 :(得分: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();
}
不要将相同的代码放两次,只需创建一个方法并传递您需要的参数。