2011-05-21 108 views
0

我在添加新佈局XML文件後多次解析R時出現問題。我使用Eclipse和API 8.有時在我「清理」項目後關閉,然後重新打開項目。我試圖添加「導入android.R」,但它沒有幫助。有人說這是因爲一些佈局XML文件有錯誤,但該文件看起來是正確的。添加新佈局XML文件後無法解析R

下面是一個XML文件,res/layout/status.xml,我有問題:

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"> 
    <Button android:text="Button" android:id="@+id/button_tmp" android:layout_height="wrap_content" android:layout_width="wrap_content"></Button> 
</LinearLayout> 

,這裏是我如何使用它:

public class StatusActivity extends Activity { 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.status); 
    } 
} 

一兩件事,這個XML文件有問題在Eclipse的「Package Explore」面板中標記,但main.xml有不同的圖標。我現在只有兩個佈局XML文件。

我是否需要在Eclipse中做一些特殊的事情來添加新的佈局XML文件?

感謝您的幫助!

更新的圖標,在「包探索」面板中的截圖:

enter image description here

+0

你對status.xml看到了什麼樣的圖標?你能提供一個快照嗎? – 2011-05-21 07:23:19

+0

嘿Jaydeep,我上傳了截圖。謝謝。 – evergreen 2011-05-21 16:02:45

回答

1

終於搞明白了。佈局XML文件沒有問題。問題是StatusActivity類不在頂層包中,但自動生成的R類位於頂層包中。因此,在Status.java中,我需要導入它,但是在頂級包中的主要活動類中,我不這樣做。這就是爲什麼main.xml有效,但status.xml沒有。

至於不同的圖標,它表明該文件是否由SCM系統管理。由於status.xml是新的,所以它有一個問號。

0

單擊該在Package Explorer和嘗試F5刷新鍵 - 忘記是誰第一個建議,但它打敗。重新啓動Eclipse !

+0

謝謝,克里斯。我忘記在我的問題中提到我也嘗試在Eclipse中刷新。 – evergreen 2011-05-21 16:06:45

0

嘗試在LinearLayout中進行更改。

android:layout_width="fill_parent" 
android:layout_height="fill_parent" 
+0

謝謝。我嘗試了「fill_parent」,但仍然沒有運氣。根據SDK的示例,API 8使用「match_parent」,API 9使用「fill_parent」。我的構建目標是API 8。 – evergreen 2011-05-21 16:05:59

0

你測試Project > Clean在這個時候? 有時你應該清理項目重建R文件。