2013-01-24 76 views
1

我需要在TextView中顯示一個字符串,該字符串以一個Twitter句柄的@符號開頭。當我把串在我的strings.xml,它不會像在字符串的開頭@並給出了錯誤:在TextView的開頭顯示@ @

error: Error: No resource type specified (at 'twitter_handle' with value '@twitter_handle'). 

,在它具有TextView的layout.xml使用字符串資源提供了錯誤:

The following classes could not be found: 
- TextView (Change to android.widget.TextView, Fix Build Path, Edit XML) 

有沒有錯誤,如果@符號是不是在文本的開頭,但其他地方的字符串。

如果我使用&#64\u0040轉義了@符號,錯誤消失在strings.xml中,但仍然在layout.xml中出現錯誤。

有什麼辦法可以在layout.xml中使用以@符號開頭的字符串TextView

的strings.xml:

... 
<string name="twitter_handle">@twitter_handle</string> 
... 

layout.xml:

... 
<TextView 
    ... 
    android:text="@string/twitter_handle" 
    ... /> 
... 

毫無疑問,這個問題已經與領先的@意味着對資源的引用的事實做,但不應該逃避@標誌被考慮在內並正確工作?

更新:此問題被發現是ADT Eclipse插件中的一個錯誤。安裝最近發佈的最新版本修復了這個問題,並且在strings.xml中轉義@不再導致錯誤。

+0

也許發佈的相關部分實際的'strings.xml'和'layout.xml'? – Eric

回答

2

與一家領先的反斜槓,就像這樣:<string name="test">\@twitter</string>

編輯:我應該閱讀。您可以通過編程分配StringTextView,通過獲取從一個字符串,並將其設置爲TextView

String twitter = getString(R.id.twitter); 
textView.setText(twitter); 

編輯2:試試這個,而不是@符號:&#64;。這是符號的html代碼。

+0

這也行不通。它基本上與我嘗試的其他轉義碼相同。它修復了strings.xml中的錯誤,但修復了layout.xml中的錯誤。 –

+0

有沒有辦法做到這一點在layout.xml然後,只有編程? –

+0

嘗試一下小技巧,並添加一個前導空格'\ s',然後是'\ @'。我不知道它是否工作,但至少這是一個嘗試。 – Leandros

0

你可以試試這個。在string.xml中創建一個字符串,並在佈局代碼中使用它。

<string name="example"><Data>@twitter</Data></string> 

@twitter是你的字符串

0

此代碼工作正常,我的內容,只是測試。注意:在剛剛的strings.xml反斜線

的strings.xml:

... 
<string name="twitter_handle">\@twitter_handle</string> 
... 

layout.xml:

... 
<TextView 
    ... 
    android:text="@string/twitter_handle" 
    ... /> 
... 

,並顯示爲@twitter_handle在TextView的

+0

我一直在嘗試這個,保存,關閉/重新打開,清理項目,甚至封閉並重新打開Eclipse。但它沒有奏效。我剛剛在Eclipse中檢查了更新並下載了新版本的ADT。它現在似乎工作!這一定是最近幾個星期我最近一次檢查的最新更新。很高興這個問題已經解決了。 –