10

我有一個resources.xml中文件位於下direcotry 值/,這是R.styleable無法解析,爲什麼?

/values/resources.xml

<?xml version="1.0" encoding="utf-8"?> 
<resources> 
    <declare-styleable name="TheMissingTabWidget"> 
     <attr name="android:divider" /> 
    </declare-styleable> 
</resources> 

在我的Java代碼,當我嘗試訪問此資源由R.styleable.TheMissingTabWidget,eclipse抱怨風格不能解決或不是字段。爲什麼?爲什麼我無法訪問此資源? (我正在使用android 2.1更新)。

+0

可能的重複[Android的Hello,Gallery教程 - 「R.styleable無法解析」](http://stackoverflow.com/questions/1717489/android-hello-gallery-tutorial-r-styleable-can-be-resolved) –

+0

如果你仍然有問題 - 檢查你正在使用哪個R。你必須使用你的項目R class –

回答

13

PLZ讓values/attrs.xml資源這樣

<?xml version="1.0" encoding="utf-8"?> 
<resources> 
    <declare-styleable name="**com.admob.android.ads.AdView**"><--- where u want to use 
     <attr name="backgroundColor" format="color" /> 
     <attr name="TextColor" format="color" /> 
     <attr name="keywords" format="string" /> 
     <attr name="refreshInterval" format="integer" /> 
    </declare-styleable> 
</resources> 
+0

你的代碼中的通配符是什麼? –

11

按照SDK Release Notes

的android.R.styleable類及其字段從公衆API中刪除,以更好地確保正向兼容性。 android.R.styleable中聲明的常量是特定於平臺的,並且可以在各個版本之間進行任意更改,因此不適合應用程序使用。您仍然可以從資源或代碼訪問平臺的可修改屬性。爲此,請在項目的res/values/R.attrs文件中使用a聲明一個自定義資源元素,然後在裏面聲明該屬性。有關示例,請參見「sdk」/samples/ApiDemos/res/values/attrs.xml。有關自定義資源的更多信息,請參閱Custom Layout Resources。請注意,android.R.styleable文檔仍然在SDK中提供,但僅作爲各種元素的平臺可修改屬性的參考。

看一看到ApiDemos代碼和文件RES /價值/ attrs.xml

+1

這並不能解釋你如何將'R.styleable'放入** attrs **文件。 –

0

你需要做的就是聲明你設置樣式在attrs.xml,不resources.xml中。然後你可以從你的代碼中引用它:

R.styleable.TheMissingTabWidget 
相關問題