Я использую пользовательские атрибуты xml для настроек. Предпочтения завышены от xml.Android: Пользовательские атрибуты Xml для PreferenceScreen
Мне удалось создать и прочитать пользовательские атрибуты xml для EditTextPreference, ListPreference и CheckBoxPreference, создав пользовательские классы, которые наследуются от соответствующего класса предпочтений.
В конструкторе класса я могу читать атрибуты так:
public class CustomTextPreference extends EditTextPreference {
public CustomTextPreference(Context context, AttributeSet attrs) {
super(context, attrs);
TypedArray a = context.obtainStyledAttributes(attrs,R.styleable.PreferenceCustomAttrs);
x = a.getString(R.styleable.PreferenceCustomAttrs_x);
y = a.getString(R.styleable.PreferenceCustomAttrs_y);
}
}
Моя проблема заключается в том, что я не могу сделать это для класса PreferenceScreen, как это конечный класс. Поэтому мой вопрос: есть ли способ прочитать пользовательские атрибуты PreferenceScreen?
Благодарим вас за ответ! Это был бы вариант, однако при таком подходе пользовательские атрибуты не были бы членами класса свойств. Мне пришлось бы поддерживать ручное сопоставление (например, через словарь) из свойства в его пользовательские атрибуты, которые я уже все равно и хотел избавиться от пользовательских атрибутов. – thumbmunkeys