2011-09-20 127 views
3

我有一個奇怪的問題。Android @Overrride在一臺機器上工作,但不是另一臺機器

在我的電腦上我有一個在幾個地方使用的@Override的Android應用程序。當我將相同的項目複製到我的筆記本電腦上時,每個@Override都出現錯誤。

該方法必須重寫超類方法。它如何在一臺機器上運行,而不是另一臺機器上運行?

@Override 
public boolean OnMenuItemClick(Menu Item){ 
} 
+0

如果我採取覆蓋出的實際應用程序在筆記本電腦上工作正常,但我仍然想知道爲什麼 – Beginner

+0

我的猜測是,在PC上被覆蓋的函數不會被調用。 – ajacian81

+0

只是做1)。項目 - >清理2)。設置java編譯器1.6 –

回答

3

很可能您的編譯器合規性級別設置爲1.5,應該設置爲1.6。 轉到窗口 - >首選項 - > Java - >編譯器,並檢查合規性級別是否設置爲1.6。 同時檢查項目特定設置,右鍵單擊項目並選擇屬性 - > Java編譯器。如果項目特定設置已啓用,請選擇1.6。

清理項目並重試。

1

嘗試去窗口 - >首選項 - >爪哇 - >編譯器 - >錯誤/警告,從下拉菜單中你的筆記本電腦

找到你的情況下(約覆蓋),然後選擇「忽略」

也許有一些配置顯示錯誤

+0

它在兩臺機器上都是相同的,我比較它們 – Beginner

0

在這兩臺機器上是否有相同版本的Java SDK,Android SDK和庫?您可能正在重寫尚未在您的PC版Java或Android或其他庫中實現的方法。

+0

Erm在機器上檢查這個最簡單的方法是什麼? – Beginner

0

註釋@Override

表示一個方法聲明打算重寫超類中的方法 聲明。如果使用此註釋類型註釋了方法但未覆蓋超類方法,則編譯器 需要生成錯誤消息。

此外,從版本1.6此註釋也用於那些對接口中實現的方法。

也許你在機器上有不同版本的SKD,爲什麼顯示錯誤。您應該修改代碼並找出缺少的內容,而不是刪除警告。

相關問題