2012-10-17 18 views
1

我目前正在開發我的第一個android應用程序,這實際上是我第一次接觸java。因此,我想這個問題對於有經驗的開發人員有一個明顯的答案,但我在SO或其他任何地方找不到任何東西。

下面的EditText有兩個吐司(我不確定這聽起來是否正確)。如果用戶輸入一個特定的單詞,則會顯示一個單詞(在這種情況下,如果用戶鍵入Magic word並按下按鈕,則會顯示Please)。如果用戶在單擊該按鈕時鍵入除該單詞之外的其他任何內容(除「魔術字」之外的任何內容),我都希望另一個吐司出現。如何將任何東西返回給在EditText上鍵入的任何東西,但是是一個特定的單詞?

EditText editText1 = (EditText) findViewById(R.id.editText1); 
{ 

if(editText1.getText().toString().trim().equals("Magic word")) 
{ 
    Toast.makeText(MainActivity.this, 
     "Please", Toast.LENGTH_LONG).show(); 
}                                   
} 
else if (editText1.getText().toString().trim().equals()) 
{ 
Toast.makeText(MainActivity.this, 
    "You didn't say the magic word", Toast.LENGTH_LONG).show(); 
} 
} 
} 
}); 

我爲我可憐的英語道歉。我希望我明白了。

非常感謝。

+0

刪除第二個'if'條款,只留下'...}否則{...'。 – Luksprog

回答

2

下面的代碼給你的解決方案:

final EditText editText1=(EditText)findViewById(R.id.editText1);   
    Button btn=(Button)findViewById(R.id.button1); 

    btn.setOnClickListener(new View.OnClickListener() 
    { 
     @Override 
     public void onClick(View v) 
     { 
      // TODO Auto-generated method stub 
      final String edittext=editText1.getText().toString(); 
      if(edittext.trim().equals("Magic word")) 
      { 
        Toast.makeText(MainActivity.this, 
        "Please", Toast.LENGTH_LONG).show(); 
      } 

      else 
      { 
        Toast.makeText(MainActivity.this, 
        "You didn't say the magic word", Toast.LENGTH_LONG).show(); 
      } 
     } 
    }); 
0

更準確的「魔語」不是一個單詞,它的兩個用空格。第一個if語句將要求EditText中的文本與語句的正確性相同。如果你真的打算把「魔術單詞」僅僅放在EditText文本中的某個地方,以顯示敬請說的Toast,請使用String.contains()或正則表達式來進行第一次比較。

對於所有其他條件,不需要檢查EditText的值。換句話說,刪除第二個,如果只保留其他的Luksprog提到。

1

更簡單的方法!

String hello = editText1.getText().toString(); 

然後,

Toast.makeText(MainActivity.this, "The text is" +hello , Toast.LENGTH_SHORT).show();