2011-10-11 54 views
4

我已經做了XML文件:有效的XML文件中給出的Android「無法解析」錯誤ADT

<?xml version="1.0" encoding="utf-8"?> 
<selector 
    xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item 
    android:state_pressed="true" 
    android:drawable="@drawable/calender_h" /> 
    <item 
    android:state_pressed="false" 
    android:drawable="@drawable/calender_n" /> 
</selector> 

,但它給我以下錯誤:

Failed to parse file G:\eclipseHeliosWorkspace\WineCountry\res\drawable\calendar_selector.xml

可能是什麼問題?

+0

只需清理項目 - >清潔 –

+0

乾淨的項目,並reuldd它。 – user370305

+0

我已經這樣做了......但沒有區別 – ekjyot

回答

3

我不確定它是否一樣,但是 在庫項目中更新到ADT 15時發生了類似問題。 這是目前仍然開放的Google問題:21046

這對我工作:

  1. 刪除的項目庫申報。
  2. 以圖形佈局打開導致錯誤的佈局(使用選擇器的佈局)。
  3. 清理項目(項目 - >清理)
  4. 關閉並重新打開eclipse。 (現在佈局應該可以)
  5. 您可以再次將項目設置爲庫。

希望這會有所幫助! (如果它仍然相關...)

+0

什麼是「圖書館宣言」 –

0

你XML很好。你錯過了drawables嗎?嘗試一次清潔該項目。如果這樣做沒有幫助,那麼如果您從某處複製粘貼了該文件,則XML中可能會出現一些不可見的特殊字符。

無論如何,請看問題窗口。它應該給你更多關於錯誤的細節。

1

我也有過同樣的問題,並且在Eclipse中也沒有問題 - >我也有問題。

你可能會考慮增加在默認狀態下被拉伸(如Android開發者網站實行該ImageButton example),在你提出這個代碼修改後的版本顯示:

<?xml version="1.0" encoding="utf-8"?> 
<selector 
    xmlns:android="http://schemas.android.com/apk/res/android"> 
<item 
    android:state_pressed="true" 
    android:drawable="@drawable/calender_h" /> 
<item 
    android:state_pressed="false" 
    android:drawable="@drawable/calender_n" /> 
<item 
    android:drawable="@drawable/calender_n" /> 
</selector> 

否則,我會說(從我剛剛在Eclipse中經歷的一些事情),您應該將應用推送到手機或模擬器。在Eclipse中,我在我遇到的佈局XML文件的圖形佈局選項卡中盯着「解析失敗...」消息,但在我的手機上,我完全按照它應該看到的圖像(響應完美按鈕按下和whatnot)。

+0

是的,我把它推到我的手機無論如何,它的工作。 –

0

從Eclipse中,右鍵單擊xml文件並選擇打開方式 - > XML編輯器。在此,選擇設計選項卡。你可能注意到你的<item>只是空的後面有一個神祕的子元素。右鍵點擊它並選擇刪除。

剛花了一個小時左右,試圖解決這個問題,這原來是修復,可能是一些不可見的字符,導致解析失敗。無論如何,希望能幫助其他人解決這個問題!

0
  1. Failed to parse XML file for android
  2. 檢查,在適當的路徑存在您可繪製
  3. 支票inivisible字符

4. I`ve也遇到了同樣的問題。我發現每個StateListDrawable狀態(按下,選中,聚焦等)實際上都需要一個有效的可繪製(png,jpg,gif等)。因此,這意味着,像這樣將導致解析錯誤的問題:

<item android:state_selected="true" />

0

我也碰到了這一點。佈局xml文件和main.xml不會解析。如果你選擇main.xml的圖形視圖,你將不會得到任何按鈕(在我的情況下)。我發現的是Eclipse被設置爲C++而不是java。將其設置爲java透視圖,關閉然後重新打開Eclipse解決了問題。

現在Eclipse正在做其他奇怪的事情,如忘記連接到手機間歇。

0

我有同樣的問題,這是由於其中一個資源圖像的名稱。這個圖像是由一位設計師發送給我的,這個設計師介紹了一些未被Android接受的角色,甚至當我在Eclipse內部重新命名它時,顯然還有一些「邪惡」的東西。奇怪的。

0

在我的情況下,drawables(PNG文件)在從Linux機器傳輸到我開發的Windows機器時被破壞。我想通過嘗試打開PNG文件。這些PNG文件無法打開,因爲它們已損壞。

再次轉移它們後,它工作正常。

相關問題