2012-10-10 21 views
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; 

當我在模擬器的edittext中寫入「password」時,仿真程序按預期工作。但是,當我(例如)寫「密碼」(資本P)應用程序意外停止。EditText區分大小寫

我能做些什麼來使它不會失效大寫字母?

回答

1

字符串區分大小寫。

而不是

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

做到這一點!

if (str.equalsIgnoreCase("password")){ 
//do something 
} 
+0

這就是我正在嘲笑的答案!謝謝你隊友 – Peter

+0

你有什麼想法可以讓我的模擬器上的鍵盤按下按鈕後消失嗎? – Peter

+1

確保你接受答案,並且如果可以的話可以upvote。這使社區繼續前進。 – Susie

2

我覺得你的問題,你的問題是兩回事,所以:

我能做些什麼,使之不大寫字母反應,辦法讓它不區分sensetive?

您可以使用equalsIgnoreCasestr.equalsIgnoreCase("password"))進行比較不區分大小寫,但是我覺得你的問題是在這裏:

但是,當我如寫「密碼」(資本P)的應用程序停止意外..

這可能是由於在else塊有問題,好像無論是vibiv爲空。

+0

謝謝你,我很新的這個東西,所以你確實解決了我的問題,使我認識到我在「其他」語句有一個小錯誤... – Peter

+0

你對我怎麼什麼想法按下按鈕後,模擬器上的鍵盤是否會消失? – Peter