10

Tôi có một resources.xml tập tin nằm dưới direcotry giá trị/, Đó làR.styleable không thể giải quyết được, tại sao?

/values/resources.xml

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

Trong mã java của tôi, khi tôi thử truy cập này tài nguyên bởi R.styleable.TheMissingTabWidget, nhật thực khiếu nại rằng có thể tạo kiểu không thể giải quyết được hoặc không phải là trường. Tại sao? Tại sao tôi không thể truy cập tài nguyên này? (Tôi đang sử dụng Android 2.1-cập nhật).

+0

có thể trùng lặp với [Android Hello, Hướng dẫn thư viện - "R.styleable cannot be resolve"] (http://stackoverflow.com/câu hỏi/1717489/android-hello-gallery-hướng dẫn-r-phong cách-không thể được giải quyết) –

+0

Nếu bạn vẫn gặp sự cố với nó - hãy kiểm tra xem bạn đang sử dụng loại R nào. Bạn phải sử dụng dự án lớp R của bạn –

Trả lời

13

plz làm values/attrs.xml nguồn lực như thế này

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

Điều gì xảy ra với các ký tự đại diện trong mã của bạn? –

11

Theo SDK Release Notes,

Lớp android.R.styleable và các lĩnh vực đã được xoá khỏi các API công cộng để đảm bảo tốt hơn tiên tiến hơn khả năng tương thích cho các ứng dụng. Các hằng số được khai báo trong android.R.styleable là nền tảng cụ thể và chịu sự thay đổi tùy ý trên các phiên bản, do đó không phù hợp để sử dụng bởi các ứng dụng. Bạn vẫn có thể truy cập các thuộc tính có thể tạo kiểu của nền tảng từ tài nguyên hoặc mã của bạn. Để làm như vậy, hãy khai báo một phần tử tài nguyên tùy chỉnh bằng cách sử dụng tệp res/values ​​/ R.attrs của dự án của bạn, sau đó khai báo thuộc tính bên trong. Ví dụ: xem "sdk" /samples/ApiDemos/res/values/attrs.xml. Để biết thêm thông tin về tài nguyên tùy chỉnh, hãy xem Custom Layout Resources. Lưu ý rằng tài liệu android.R.styleable vẫn được cung cấp trong SDK, nhưng chỉ là tham chiếu thuộc tính có thể tạo kiểu của nền tảng cho các phần tử khác nhau.

Có một cái nhìn vào mã ApiDemos và res tập tin/values ​​/ attrs.xml

+1

Điều này không giải thích cách bạn đặt tệp 'R.styleable' vào ** attrs **. –

0

Những gì bạn cần làm là tuyên bố styleable của bạn trong attrs.xml, không resources.xml. Sau đó, bạn có thể tham chiếu nó từ mã của bạn như sau:

R.styleable.TheMissingTabWidget 
Các vấn đề liên quan