我在IF ELSE语句中遇到java语法错误。 我多次查看我的代码,但无法弄清楚是什么问题。 错误是:令牌“else”上的语法错误,删除此令牌。 我在这做错了什么?
if(androidFragment!=null)
ft.detach(androidFragment);
if(appleFragment!=null)
ft.detach(appleFragment);
if(berryFragment!=null)
ft.detach(berryFragment);
if(tabId.equalsIgnoreCase("android")){
if(androidFragment==null){
ft.add(R.id.realtabcontent,new AndroidFragment(), "android");
}else{
ft.attach(androidFragment);
}
}else if{
if(appleFragment==null){
ft.add(R.id.realtabcontent,new AppleFragment(), "apple");
}else{
ft.attach(appleFragment);
}
}else{
if(berryFragment==null){
ft.add(R.id.realtabcontent,new BerryFragment(), "berry");
}else{
ft.attach(berryFragment);
}
}
答案 0 :(得分:3)
此if
...
}else if{ /* condition missing at this if */
if(appleFragment==null){
ft.add(R.id.realtabcontent,new AppleFragment(), "apple");
}else{
ft.attach(appleFragment);
}
}...
将其更改为您需要的,可能:
...
}else if (tabId.equalsIgnoreCase("apple")){
if(appleFragment==null){
ft.add(R.id.realtabcontent,new AppleFragment(), "apple");
}else{
ft.attach(appleFragment);
}
}...
答案 1 :(得分:1)
else
只能附加一个if
;这里有两个else
,AppleFragment
和BerryFragment
。
if(tabId.equalsIgnoreCase("android")){
...
}else{
...
}else{
...
}
修改强>
您现在拥有以下代码片段:
} else if {
您的else if
需要一个条件,例如
} else if (/*another boolean condition here for AppleFragment*/) {
答案 2 :(得分:1)
你还有2个其他人
if (...) {
...
} else {
...
} else { <--only one "else" allowed.
...
}
答案 3 :(得分:1)
您没有正确使用else if
构造,您的代码应如下所示:
}else if(tabId.equalsIgnoreCase("apple")) {
if(appleFragment==null){
...
}else if (tabId.equalsIgnoreCase("berry")){
if(berryFragment==null){
...
}
答案 4 :(得分:0)
只允许其他人使用,如果
则使用其他人if(condition){ ....
}else if(condition 2){ ......
}else{ ........
}
答案 5 :(得分:0)
问题在于:
else{ // Second else compilation error
if(berryFragment==null){
ft.add(R.id.realtabcontent,new BerryFragment(), "berry");
}else{
ft.attach(berryFragment);
}
}
你不能有两个else语句。
答案 6 :(得分:-1)
我不确定你到底想做什么,但你有两个else
陈述。
删除内部if
语句,并留下这个shell:
if(if(tabId.equalsIgnoreCase("android")){
} else {
} else {
}
您只能有一个else
条件。在这里,你有两个。