10

Mam resources.xml plik znajdujący się pod direcotry wartości/, toR.styleable nie może zostać rozwiązany, dlaczego?

/values/resources.xml

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

W moim kodu java, gdy próbuję uzyskać dostęp do tego zasobów przez R.styleable.TheMissingTabWidget, zaćmienie narzeka, że ​​nie można rozwiązać stylu lub nie jest to pole. Czemu? Dlaczego nie mogę uzyskać dostępu do tego zasobu? (Używam Androida zaktualizowanego 2.1).

+0

możliwe duplikat [Android Witam, Galeria Tutorial - „R.styleable nie może być rozwiązany”] (http://stackoverflow.com/questions/1717489/android-hello-gallery-tutorial-r-styleable-can not-be-resolved) –

+0

Jeśli nadal masz z tym problem - sprawdź, którego używasz. Musisz użyć swojego projektu klasy R –

Odpowiedz

13

plz zrobić values/attrs.xml zasobów jak to

<?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

Co jest ważnego ze znakami wieloznacznymi w twoim kodzie? –

11

Według SDK Release Notes,

android.R.styleable klasa i jej obszary zostały usunięte z publicznych API, aby lepiej zapewnić wybiegające kompatybilność dla aplikacji. Stałe zadeklarowane w android.R.styleable były specyficzne dla platformy i podlegały arbitralnej zmianie w różnych wersjach, więc nie były odpowiednie do użycia przez aplikacje. Nadal możesz uzyskać dostęp do stylowych atrybutów platformy ze swoich zasobów lub kodu. Aby to zrobić, zadeklaruj niestandardowy element zasobów za pomocą pliku res/values ​​/ R.attrs twojego projektu, a następnie zadeklaruj atrybut wewnątrz. Przykłady: patrz "sdk" /samples/ApiDemos/res/values/attrs.xml. Aby uzyskać więcej informacji o zasobach niestandardowych, zobacz Custom Layout Resources. Zwróć uwagę, że dokumentacja Android.R.style jest wciąż dostępna w SDK, ale tylko jako odniesienie do stylów atrybutów platformy dla różnych elementów.

Wystarczy popatrzeć do kodu ApiDemos i res plików/wartości/attrs.xml

+1

To nie wyjaśnia, jak wstawić 'R.styleable' do pliku ** attrs **. –

0

Co trzeba zrobić, to zadeklarować swój styleable w attrs.xml, nie resources.xml. Wtedy będziesz w stanie odnieść się do niego z kodu tak:

R.styleable.TheMissingTabWidget