2010-11-18 42 views
1

我正在通過一本書樣本程序工作,並且我得到了同樣的問題,無論我是否創建並鍵入代碼,或者是否下載了已輸入的代碼,所以我認爲這是一個設置問題。內容不會解決

我得到了每個每個類此錯誤:

setContentView(R.layout.menu)其中「R」紅色下劃線,代碼將無法編譯。如果我添加import android.r就像「QuickFix」所示,紅線遠離「R」,但紅線出現在「菜單」下面(在本例中)。組成項目的5個類中的每一個都會發生相同的行爲。

我有匹配的「菜單」等佈局。(據我所知)我將它們註冊爲清單文件中的應用程序節點。

這使我瘋狂。感謝您的任何建議。

+0

什麼是實際的編譯錯誤? – 2010-11-18 18:51:52

+0

我不確定它實際上是編譯器錯誤。源代碼中存在紅色下劃線,我無法解決它們。當我嘗試使用我得到的代碼中的紅線運行時:「發生內部錯誤:」啓動trivia_app_config「 項目路徑必須只有一個段。 – paulpo 2010-11-18 19:34:15

+0

您有沒有機會看到任何帶有.out擴展名的文件在您的資源中? – RickNotFred 2010-11-18 20:16:04

回答

4

你不應該導入android.R,因爲它不會解決你的資源。只要刪除該導入並再次嘗試編譯。

如果您正在製作教程,那麼還請檢查是否具有教程中的相同資源,並且如果您決定命名不同的東西,請記住通過名稱引用它們。

+0

如果我刪除了「導入android.R」,那麼錯誤紅線從下拉菜單(在setContentView(R.layout.menu)示例中)切換到下劃線「R」。這就好像我可以選擇讓紅線錯誤消除「R」或「菜單」,但不能在它們之間加下劃線。 – paulpo 2010-11-18 19:26:34

+0

我只是點擊了項目名稱,並說「構建項目」。其中的錯誤包括:「項目缺少必需的源文件夾:'gen'」,以及「在構建路徑錯誤得到解決之前無法構建項目」。 – paulpo 2010-11-18 20:09:35

1

R類由Android生成,包含res文件夾中所有資源的ID。轉到您的AndroidManifest並在清單中找到package = attribute。 R在這個命名空間中。所以如果命名空間是com.yourpackage.blah,你會想導入com.yourpackage.blah.R;

+0

每個.java src文件都有「包」,並在第一行包含正確的名稱空間。這個名稱空間對應於清單文件中的名稱空間。如果我嘗試在每個src文件中導入命名空間,「導入」命令後的命名空間顯示帶有紅色錯誤下劃線的整個命名空間。 – paulpo 2010-11-18 19:31:16

0

問題是由於某些原因,Eclipse並未自動生成gen/R.java文件。我不知道爲什麼。有一次它生成了該文件,並且在Project..Clean和Build All都解決了之後。感謝您的意見。

0

還要確保你的文件名在res下,例如drawables,都可以。我有一個大寫字母的文件名,並且阻止了創建與您得到相同的參考錯誤的R.我沒有檢查錯誤信息,並花了我10-20分鐘的時間才發現這一點。

0

有時這發生在我身上。 通常情況下,我一直在使用一些xml元素,並且在點擊一個java文檔來點擊「運行」之前,我只是在xml上點擊「運行」。我真的不知道當你「運行」一個xml時會發生什麼,但它使這個可怕的文件名爲some_xml_name.out.xml。

刪除此文件!

這個文件是你得到這麼多R相關錯誤的原因,因爲資源庫從來沒有真正創建過,或者類似的東西。

這是我的建議,沒有真正看到你在控制檯中遇到的錯誤。