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

我认为你的问题和你的问题是两件不同的事情,所以:

我该怎么做才能使它不对大写字母做出反应,如何使它不区分大小写?

您可以使用equalsIgnoreCase( str.equalsIgnoreCase("password")) 使比较不区分大小写,但我认为您的问题在这里:

但是,当我例如写“密码”(大写 P)时,应用程序意外停止..

这可能是由于else块中的问题,看起来要么是空的,vib要么iv是空的。

于 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 回答