setContentView(R.layout.activity_main) Error解決方法

今天在寫Android代碼的過程中,編譯器一直報錯,錯誤出在這一行代碼:

<span class="pln" style="margin: 0px; padding: 0px;">setContentView</span><span class="pun" style="margin: 0px; padding: 0px; color: rgb(102, 102, 0);">(</span><span class="pln" style="margin: 0px; padding: 0px;">R</span><span class="pun" style="margin: 0px; padding: 0px; color: rgb(102, 102, 0);">.</span><span class="pln" style="margin: 0px; padding: 0px;">layout</span><span class="pun" style="margin: 0px; padding: 0px; color: rgb(102, 102, 0);">.</span><span class="pln" style="margin: 0px; padding: 0px;">activity_main</span><span class="pun" style="margin: 0px; padding: 0px; color: rgb(102, 102, 0);">)</span>

提示信息是:
activity_main cannot be resolved or is not a field
我就覺得很奇怪,我在R.layout裏面明明看到自動生成了默認的佈局activity_main,爲什麼在這裏引用就出錯呢。Google之也沒發現原因,而且,如果刪掉activity_main,Eclipse給出的自動提示是activity_list_item.我當時就覺得可能是導入的某個包覆蓋了我真正要引用的R.java.
然後在import裏面果然找到了這麼一句:

<span class="kwd" style="margin: 0px; padding: 0px; color: rgb(0, 0, 136);">import</span><span class="pln" style="margin: 0px; padding: 0px;"> android</span><span class="pun" style="margin: 0px; padding: 0px; color: rgb(102, 102, 0);">.</span><span class="pln" style="margin: 0px; padding: 0px;">R</span><span class="pun" style="margin: 0px; padding: 0px; color: rgb(102, 102, 0);">;</span>

刪掉這一句就正常了。
出現這個問題的原因是,如果你在R.java還沒有來得及自動生成的時候選擇了fix imports,那麼Eclipse就會自動幫你導入android.R這個包,就會覆蓋掉本地的R.java,所以就導致了你不能正常引用R.layout.activity_main.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章