4
    et = (EditText) findViewById(R.id.editText1);
    iv = (ImageView) findViewById(R.id.imageView1);
 Case R.id.ibGo:
    String str = et.getText().toString();
        if (str.contentEquals("password")){
            Intent levelTwo = new Intent (
                "com.xxx.xxx.LEVELTWO");
            startActivity(levelTwo);
        } else if (str.contentEquals("music")){

            Intent levelFour = new Intent (
                "com.xxx.xxx.LEVELFOUR");
            startActivity(levelFour);  
        } else {
            vib.vibrate(300);
            iv.setVisibility(View.VISIBLE);
        }
        break;

エミュレータの編集テキストに「パスワード」と書くと、エミュレータは期待どおりに動作します。しかし、(たとえば)「パスワード」(大文字のP)を書くと、アプリケーションが予期せず停止します。

大文字で失敗しないようにするにはどうすればよいですか?

4

2 に答える 2

2

私はあなたの質問とあなたの問題は2つの異なるものだと思います、それで:

大文字に反応しないようにするにはどうすればよいですか、大文字と小文字を区別しないようにするにはどうすればよいですか?

equalsIgnoreCase( )を使用str.equalsIgnoreCase("password")して比較の大文字と小文字を区別しないようにすることができますが、問題はここにあると思います。

しかし、たとえば「パスワード」(大文字のP)と書くと、アプリケーションが予期せず停止します。

elseこれはおそらくブロックの問題が原因であるvibか、ivnullのようです。

于 2012-10-10T22:15:19.353 に答える
2

文字列は大文字と小文字が区別されます。

それ以外の

if (str.contentEquals("password")){
//do something
}

これを行う!!

if (str.equalsIgnoreCase("password")){
//do something
}
于 2012-10-10T22:18:43.673 に答える