Начало действия при условии - PullRequest
0 голосов
/ 20 января 2012

У меня есть три действия. Когда я нажимаю на кнопку, они открываются без проблем, но когда я хочу открыть действие по условию, оно не работает.

if(s2=="Both") {

   Intent i = new Intent();
   i.setClassName("com.gotit.babynames", "com.gotit.babynames.BabyNameActivity");
   startActivity(i);

   setTitle(s2);

} else if(s2=="Boys") {

    Intent j = new Intent();
    j.setClassName("com.gotit.babynames", "com.gotit.babynames.Boys");
    startActivity(j);

    setTitle(s2);

} else  {
    Intent k = new Intent();
    k.setClassName("com.gotit.babynames", "com.gotit.babynames.Girls");
    startActivity(k);

    setTitle(s2);
}

Ответы [ 6 ]

21 голосов
/ 20 января 2012

Попробуйте использовать это:

if ( "Both".equals ( s2 ) )
{
    //Do something
}

s2 == "Both" не будет сравнивать текст на Java.

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

if ( "Both".equalsIgnoreCase ( s2 ) ) 
{
     //Do something
}
5 голосов
/ 07 февраля 2012

Еще лучше:

// "Both".equals() will prevent NullPointerException
if ( "Both".equals ( s2 ) )
{
}

Таким образом, вы избегаете исключения NullPointerException в случае, если s2 равно нулю

4 голосов
/ 20 января 2012

В java == сравнивает места в памяти, в то время как ключевое слово equals фактически сравнивает обе строки. Итак, попробуйте s2.equals вместо ==.

1 голос
/ 20 января 2012

В Java вы не можете использовать оператор == для сравнения двух строк. Вместо использования == используйте equals().

Синтаксис:

s1.equals("xyz")
0 голосов
/ 27 июля 2015

Обратите внимание, что == сравнивает ячейки памяти (ссылки), тогда как "equals ()" сравнивает содержимое строки .

if( "Both".equals(s2)) {
    //Your logic Here
}
0 голосов
/ 13 декабря 2013

Вы сравниваете две строки, используя ==, что неправильно. Вы должны использовать .equals

например:.

if ( s2.equals ( "Both" ) )
{
 /* Your action here*/
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...