2014-02-05 50 views
0

我试图得到一个EditText错误来显示如果EditText中的文本不等于'1'。当我输入除“1”以外的任何文本时,不会显示错误!这里是源代码:EditText错误不能正常工作

import android.app.Activity; 
import android.os.Bundle; 
import android.view.KeyEvent; 
import android.view.Menu; 
import android.view.inputmethod.EditorInfo; 
import android.widget.EditText; 
import android.widget.TextView; 
import android.widget.TextView.OnEditorActionListener; 
import android.widget.Toast; 

public class MainActivity extends Activity { 

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

    final EditText editText = (EditText) findViewById(R.id.edit); 

    editText.setOnEditorActionListener(new OnEditorActionListener() { 

     @Override 
     public boolean onEditorAction(TextView v, int actionId, KeyEvent event) { 
      if (actionId==EditorInfo.IME_ACTION_NEXT) { 
       if(editText.getText().toString() != "1") { 
        editText.setError("Please enter some information!"); 
       } 
       else { 
        Toast.makeText(getApplicationContext(), "Not null", Toast.LENGTH_SHORT).show(); 
       } 
      } 
      return false; 
     } 
    }); 
} 
} 

XML代码:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:tools="http://schemas.android.com/tools" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:paddingBottom="@dimen/activity_vertical_margin" 
android:paddingLeft="@dimen/activity_horizontal_margin" 
android:paddingRight="@dimen/activity_horizontal_margin" 
android:paddingTop="@dimen/activity_vertical_margin" 
tools:context=".MainActivity" > 

<EditText 
    android:id="@+id/edit" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" /> 

我在做什么错?任何帮助,将不胜感激!

+0

“==”检查两个对象是否引用同一个对象实例。 – mario

回答

3

这就是错误:

editText.getText().toString() != "1" 

你需要做的:通过方法String.equalsString.equalsIgnoreCase执行Java中

!(editText.getText().toString().equals("1")); 
+0

我试过了,错误仍然没有显示! – user268397

+0

我加了'!'在整个事情的前面 – Tsunaze

+0

它仍然没有显示错误! – user268397

2

字符串比较。 ==!=比较字符串的refrence

0

当您使用==正在检查的内存位置

请,使用方法equals()方法equalsIgnoreCase()