2014-06-07 90 views
0

我只想比較EditText的值,並且想要根據大小寫顯示Toast,在我的程序中,我只需要edittext值等於abc或ABC,然後在Toast中顯示完成,否則需要顯示錯誤,爲此,我已經寫的很容易幾行代碼,但不爲什麼它總是顯示錯誤,即使我已經正確輸入值(即: - ABC或ABC)比較EditText值與字符串

public class MainActivity extends ActionBarActivity { 

EditText editTextInput; 
String strInput; 
Button btnInput; 

@Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 

     editTextInput = (EditText) findViewById(R.id.editInput); 
     strInput = editTextInput.getText().toString(); 

     btnInput = (Button) findViewById(R.id.button1); 
     btnInput.setOnClickListener(new OnClickListener() { 

      @Override 
      public void onClick(View arg0) { 
       // TODO Auto-generated method stub 

       if(strInput.equalsIgnoreCase("ABC")) 
       { 
        Toast.makeText(getApplicationContext(), "done", Toast.LENGTH_LONG).show(); 
       } 
       else { 
        Toast.makeText(getApplicationContext(), "error", Toast.LENGTH_LONG).show();   
       } 
      } 
     }); 
    } 

回答

1

試試這個。

獲取EditText文本ClickListener像下面

btnInput.setOnClickListener(new OnClickListener() { 

     @Override 
     public void onClick(View arg0) { 
      // TODO Auto-generated method stub 
      strInput = editTextInput.getText().toString(); 

編輯

空初始化它像下面

String strInput = ""; 

Button點擊添加像下面追加它

strInput = strInput+","+editTextInput.getText().toString(); 

,並設置strInputTextView像下面

textViewResult.setText(strInput); 

編輯1:

btnInput.setOnClickListener(new OnClickListener() { 

     @Override 
     public void onClick(View arg0) { 
      String check = editTextInput.getText().toString(); 

       if(check.equalsIgnoreCase("ABC")) 
       { 
         strInput = strInput+","+check; 
         Toast.makeText(getApplicationContext(), "done", Toast.LENGTH_LONG).show(); 
         textViewResult.setText(strInput); 
         editTextInput.setText(""); 
       } 
       else { 
         Toast.makeText(getApplicationContext(), "error", Toast.LENGTH_LONG).show();      
       } 
     } 
}); 
+0

感謝我的愚蠢的錯誤,我打勾有用,將接受未來的11分鐘內找到你的答案...謝謝:) – Sophie

+0

@Sophie高興它幫助。快樂編碼。 – Hariharan

+0

接受,但不知道爲什麼有人已經downvoted這個問題,我盡我所能 – Sophie

0
if (editTextInput.getText().toString().equals("ABC")) 
{ 
//... 
} 
0

是檢查,當你在編輯文本

添加文本

EditText input = new EditText(context);

input.addTextChangedListener(新TextWatcher() {
@覆蓋
公共無效afterTextChanged(可編輯或多個){
如果((input.getText()。的toString())。等於(比較器)) {
showToast();
} }
@Override
公共無效onTextChanged(CharSequence中,整數ST,INT b,INT C){

 } 

公共無效beforeTextChanged(CharSequence中,詮釋ST,INT C,INT一){

    } 
       }); 
1

剛進去ClickListenerEditText值。

嘗試類似如下─

btnInput.setOnClickListener(new OnClickListener() { 

    @Override 
    public void onClick(View arg0) { 
     // TODO Auto-generated method stub 
     strInput = editTextInput.getText().toString(); 
     if(strInput.equals("ABC")||strInput.equals("abc")) 
      Toast.makeText(getApplicationContext(), "done", Toast.LENGTH_LONG).show(); 
     else 
      Toast.makeText(getApplicationContext(), "error", Toast.LENGTH_LONG).show();   
     } 
    }); 
+0

勾選爲有用的,@Hariharan已經給出了答案 – Sophie

+0

@Sophie好吧..但謝謝你勾選有用。 快樂編碼:) – Priyanka

0

使用equalsIgnoreCase方法,將降低一個或條件按@普里的答案。

btnInput.setOnClickListener(new OnClickListener() { 

     @Override 
     public void onClick(View arg0) { 
      // TODO Auto-generated method stub 
      strInput = editTextInput.getText().toString(); 
      if(strInput.equalsIgnoreCase("ABC")) 
       Toast.makeText(getApplicationContext(), "done", Toast.LENGTH_LONG).show(); 
      else 
       Toast.makeText(getApplicationContext(), "error", Toast.LENGTH_LONG).show();   
      } 
     });