2017-03-02 30 views
-3

我使用的IntelliJ創建Android應用程序,並在重新啓動程序
我得到這個錯誤:錯誤:撇號不之前(並未能執行AAPT

Error

Values.xml

,我有另外一個問題:「無法解析符號R」

+2

錯誤不言自明。在所有的撇號之前加一個'\\'來逃避它們。 –

+0

什麼是撇號? – DaviDEV

+1

在你的values.xml文件中。例如,對於字符串'abc's',它應該在您的values.xml文件中是' abc \''。 –

回答

0

沒有在國王的Businers撇號,只需使用King\'s Businers研究所元首。

+0

工作!謝謝。 – DaviDEV

0

由於撇號'是Android資源文件中用於標記字符串開頭或結尾的特殊字符。它的所有實例作爲標點符號必須通過反斜槓\轉義。這是這樣的,撇號可以被解析爲文字字符而不是字符串的開始/結束。例如,您擁有未經轉義的單詞King's,這需要變爲King\'s

至於Cannot resolve symbol R,你可以發佈它的相關位代碼嗎?您可以嘗試通過將克拉移至紅色R,按Alt + Enter並選擇導入類別來解決此問題。

+0

工作!非常感謝 – DaviDEV

+1

沒有。撇號在xml中並不特別。只有'<>&'被認爲是特殊的,需要在xml中轉義。另外,在xml中轉義是通過使用實體完成的,例如'<'。這個字符是特定於android格式的,並且轉義也是針對android的。 – njzk2

+0

@ njzk2感謝您的澄清,更新的答案。所以在「普通」XML中,「'''和'''被認爲是完全有效的?因爲我已經使用JSON來使用XML。 –

0

換行符(\ n)可能會爲您拼寫文本。嘗試將內容包裝在CDATA中:

<string name="the_text"> 
    <![CDATA[ 
    A ton of text \n with the line down char 
    ]]>   
</string>