Java 根据条件启动活动
我有三种行为。当我点击按钮时,它们会毫无问题地打开,但当我想按条件打开一个活动时,它不起作用Java 根据条件启动活动,java,string,if-statement,Java,String,If Statement,我有三种行为。当我点击按钮时,它们会毫无问题地打开,但当我想按条件打开一个活动时,它不起作用 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
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);
}
尝试使用以下方法:
if ( "Both".equals ( s2 ) )
{
//Do something
}
s2==两者都不会比较Java中的文本
也可以使用此选项忽略大小写:
if ( "Both".equalsIgnoreCase ( s2 ) )
{
//Do something
}
在java中,==比较内存位置,而关键字equals实际上比较两个字符串。因此,尝试s2.equals而不是== 在Java中,不能使用==运算符来比较两个字符串。使用equals代替== 语法:
s1.equals("xyz")
更好的是:
// "Both".equals() will prevent NullPointerException
if ( "Both".equals ( s2 ) )
{
}
这样,在s2为null的情况下,可以避免出现NullPointerException,因为您使用==比较两个字符串,这是错误的。你必须使用 e、 g: 请注意==比较内存位置引用,而'equals'比较字符串内容本身
最后一个打开了。。。com.gotit.babynames.Girls。。如果我删除并仅保留setTitle,如果由于某种原因它工作完美,则它不会打开com.gotit.babynames.babynamesactivity或com.gotit.babynames.Boys。。。。这种情况会发生在其他方面。。如果我这样给出,它可以工作,如果s2==两个{setTitles2;}否则ifs2==男孩{setTitles2;}否则{setTitles2;}setTitle工作正常,但没有意图和startActivity代码
if ( s2.equals ( "Both" ) )
{
/* Your action here*/
}
if( "Both".equals(s2)) {
//Your logic Here
}