-1

文字列を比較しています。すべてが等しい場合は、「ALL ARE EQUAL」ダイアログを表示する必要があります。それ以外の場合は、「NOTEQUAL」という別のダイアログを表示する必要があります。アラートダイアログの[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();

}
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( "yes")

代わりは

s1.equals( "yes")

于 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();    

}

同じコードを2回入力するのではなく、メソッドを作成して必要なパラメーターを渡すだけです。

于 2012-12-24T09:30:44.243 に答える