String!等于edittext不起作用

时间:2015-04-01 10:41:13

标签: java android

在游标c和c1的帮助下,我用edittext检查了两个数据库。如果它不相等,则转移到NotFound活动。

下面我发布了代码:

if (c.getCount() > 0) {

.....
....
}
 else if(c1.getCount()>-1){
....
....
}

 else{

       if(!(editText.getText().toString()).equals("c") && (!(editText.getText().toString().equals("c1")))) {   ---->not working


       Intent i2=new Intent(Plate.this,NotFound.class);
       startActivity(i2);

      }
     }

我唯一的问题是if(!(editText.getText().toString()).equals("c") && (!(editText.getText().toString().equals("c1"))))无效。我不确定那是什么问题。

3 个答案:

答案 0 :(得分:3)

您的if语句中的表达式看起来有点混乱,因为您的语句中有一个额外的括号会改变它的工作原理:

!(editText.getText().toString()).equals("c") && (!(editText.getText().toString().equals("c1")))

如果我们简化它,请将第一个表达式editText.getText().toString()称为新变量a(注意缺少equals()),将第二部分editText.getText().toString().equals("c1")称为新变量{ {1}},我们留下的b并没有多大意义。

我认为您希望将((!a).equals("c") && !b)替换为a并改为使用editText.getText().toString().equals("c"),这是

!a && !b

(!editText.getText().toString().equals("c") && !editText.getText().toString().equals("c1")) 不包含trueEditText时,该语句将返回"c"

答案 1 :(得分:1)

如果您对!语句和括号感到困惑,那么我可以为您简化

String s =editText.getText().toString();
if(s.equals("c") || s.equals("c1")) { 
 //Do nothing
} else {
   Intent i2=new Intent(Plate.this,NotFound.class);
   startActivity(i2);
  }

答案 2 :(得分:0)

!(editText.getText()。toString())。equals(" c")看起来不错你可以试试

(editText.getText()的toString()。)的 equalsIgnoreCase (" C")!。