2014-06-07 50 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();   
      } 
     });