在游标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"))))
无效。我不确定那是什么问题。
答案 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"))
不包含true
或EditText
时,该语句将返回"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")!。