Модели синтаксического разбора Android для настраиваемого виджета не работают

Я создал собственный виджет для моего приложения для Android, и я хочу создать для него собственные стили. Но при разборе его в классе возвращается всегда значение null. Прошли несколько ссылок и не могли понять, в чем проблема? Может ли кто-нибудь помочь?

Мой atttr.xml

<resources> <declare-styleable name="Widget"> <attr name="headers" format="reference" /> <attr name="height" format="integer" /> </declare-styleable> </resources> 

Класс виджета

 public Widget(Context context, AttributeSet attrs) { super(context, attrs); TypedArray attr = context.obtainStyledAttributes(attrs, R.styleable.Widget); String[] columns = (String[]) attr .getTextArray(R.styleable.Widget_headers); int height = attr.getInt(R.styleable.Widget_height, 0); } 

И файл макета

 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:widget="http://schemas.android.com/apk/lib/com.sample.custom" android:id="@+id/statistics_fragment_layout" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <com.sample.custom.Widget android:id="@+id/widget" android:layout_width="match_parent" android:layout_height="wrap_content" widget:headers="@array/headers" > </com.sample.custom.Widget> </LinearLayout> 

Arrays.xml –

 <resources> <string-array name="headers"> <item>Header1</item> <item>Header2</item> <item>Header3</item> </string-array> </resources> 2 <resources> <string-array name="headers"> <item>Header1</item> <item>Header2</item> <item>Header3</item> </string-array> </resources> 

Solutions Collecting From Web of "Модели синтаксического разбора Android для настраиваемого виджета не работают"

Вы пытались переработать массив в конце конструктора вида? Эта ссылка охватывает большинство вещей – создание пользовательских представлений

Пройдя несколько образцов, я понял проблему.

Просто заменил линию

 TypedArray attr = context.obtainStyledAttributes(attrs, R.styleable.Widget); 

с этим

 TypedArray attr = context.getTheme().obtainStyledAttributes(attrs, R.styleable.Widget,0,0)