2015-04-01 2 views
-1

С помощью курсора c и c1 я проверяю две базы данных с помощью edittext.If, если он не равен, то он переходит к активности NotFound.String! Equals of edittext не работает

Ниже я разместил код:

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")))) не working.I я не уверен, что в этом плохого.

+1

Выражение в вашем выражении 'if' кажется немного запутанным. –

+0

Вы хотите проверить, не является ли содержимое editText не c или c1? –

+0

@ZiadHalabi no if c и c1 не равно значению edittext, которое я ввел, затем перейдите к новой активности – Steve

ответ

3

Выражения в вашем if заявления кажется немного запутанным, как есть дополнительные скобки в вашем заявлении, что изменения, как это работает:

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

Если мы упрощаем его, называя первое выражение editText.getText().toString() новая переменная a (обратите внимание на недостаток equals()), а вторая часть editText.getText().toString().equals("c1") - новая переменная 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" или "c1".

+2

Фактически @Richard написал: '! (Xx) .equals (" c ") && (! (Xxx))', а не ' ! (a &&! b) ' И вы исправили' (! xx) .equals ("c") &&! xxx'. так что вы ошибаетесь, ставя '!' прямо перед строкой – yiabiten

+0

не работает ed george – Steve

+0

обратите внимание на скобки. Он на самом деле написал '! A &&! B'. – yiabiten

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); 
    } 
+1

'||' вместо '&&' – yiabiten

+0

жаль, что не работает – Steve

+1

Это всегда будет возвращать 'false ', как может String когда-либо равняться как« c »_and_« c1 » –

0

! (EditText.getText(). ToString()). Равно ("с") ищет нормально у можете попробуйте

! (editText.getText(). toString()). equalsIgnoreCase ("c")

Смежные вопросы