2012-07-15 72 views
-1

为什么我得到以下语法错误的Android,Java和Eclipse的:令牌 “如果” 语法错误,(预计在此之后令牌

public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    SharedPreferences pvtPref = getPreferences(MODE_PRIVATE); 
    Boolean isFirstLaunch = pvtPref.getBoolean("isFirstLaunch", false); 
    if (isFirstLaunch == true) { // <<<< Syntax Error ? 
    // Do Something 
    } 
} 

错误:?

Multiple Markers at this line 
-Syntax error on token "if", (expected after this token 
-Line breakpoint:LaunchEngine[line:30] - onCreate(Bundle) 
+1

我没有得到它..你可以只刷新项目。 – 2012-07-15 14:22:04

+0

刷新它几次,重新启动Eclipse,但没有运气.. – Amyth 2012-07-15 14:28:02

回答

1

尝试它像这样的:

public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    SharedPreferences pvtPref = getPreferences(MODE_PRIVATE); 
    boolean isFirstLaunch = pvtPref.getBoolean("isFirstLaunch", false); 
    if (isFirstLaunch) { // <<<< Syntax Error ? 
    // Do Something 
    } 
} 
+0

感谢您的回复,不幸的是使用if(isFirstLaunch)也给了我同样的错误。我已更新错误消息。 – Amyth 2012-07-15 14:33:20

1

尝试......

  1. 首先看到你已经声明isFirstLaunch为布尔值,如果你有它应该工作。

  2. 无需使用isFirstLaunch == true

    if(isFirstLaunch)

+0

感谢您的回复,不幸的是,使用if(isFirstLaunch)也给了我同样的错误。我已更新错误消息。 – Amyth 2012-07-15 14:33:11

+0

我刚刚在我的Android程序中尝试过你的代码,它没有错误地工作..我认为问题是在onCreate()之外,你是否尝试在onCreate()方法之外做一些操作,我的意思是你只能声明变量等在范围内,一切都在方法范围..请检查 – 2012-07-15 14:44:42

+0

不知道什么是错的,我没有理由的语法错误,也许是错误的日食,相同的代码在窗口中工作正常 – Amyth 2012-07-15 15:18:26

0

你得到一个布尔值,而不是一个布尔值。所以,你应该使用:

Boolean isFirstLaunch = pvtPref.getBoolean("isFirstLaunch", false); 
if (isFirstLaunch.booleanValue()) { 
} 

或:

boolean isFirstLaunch = pvtPref.getBoolean("isFirstLaunch", false); 
if (isFirstLaunch) { 
} 

而尝试点击左侧的错误图标,并选择“清除所有皮棉标记”(如果它的存在)。

相关问题