比较android中的两个EditText值

时间:2014-12-23 03:43:55

标签: android android-edittext

我正在尝试创建一个应用,用户在EditText框中输入单词。然后,他们在另一个框中输入内容,并检查它们是否是同一个单词。这是我使用的代码:

         String word = textfield1.getText().toString();
         String answer = textfield2.getText().toString();

          textfield2.setText(textfield2.getText().toString()); 

          if(word == answer){

              Toast.makeText(getApplicationContext(), "correct",
                       Toast.LENGTH_LONG).show();
          }else 
              Toast.makeText(getApplicationContext(), "incorrect", Toast.LENGTH_LONG).show();
       }

然而,它总是说即使它们是两个字符串也不一样。有办法解决这个问题吗?

5 个答案:

答案 0 :(得分:3)

您无法将字符串与==运算符进行比较。

改为使用.equals()

if(word.equals(answer)) {
    //do whatever
}

答案 1 :(得分:2)

使用String.equalsIgnoreCase比较两个字符串变量的内容。

  if(word.equalsIgnoreCase(answer)){

   }

答案 2 :(得分:1)

使用:

String word = textfield1.getText().toString();
String answer = textfield2.getText().toString();

if(answer.contentEquals(word)){
  // Do something if equals
}

else{
  // Do something if not equals
}

答案 3 :(得分:1)

我认为最好的方法是使用TextUtils:

if(TextUtils.equals(textfield1.getText(),textfield2.getText())){
 //do something
}

答案 4 :(得分:0)

而不是

 if(word.contentEquals(answer)){

     }

使用

 if(word.equals(answer))

因为我们无法将字符串与等于(==)运算符

进行比较

试试这个::

String word = textfield1.getText().toString();
             String answer = textfield2.getText().toString();



              if(word.equals(answer)){

                  Toast.makeText(getApplicationContext(), "correct",
                           Toast.LENGTH_LONG).show();
              }else 
                  Toast.makeText(getApplicationContext(), "incorrect", Toast.LENGTH_LONG).show();
           }