Android: пользовательские атрибуты XML для PreferenceScreen - PullRequest
2 голосов
/ 26 сентября 2010

Я использую пользовательские атрибуты XML для предпочтений.Предпочтения завышены из xml.

Мне удалось создать и прочитать пользовательские атрибуты 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?

1 Ответ

1 голос
/ 26 сентября 2010

Вероятно, не теми же методами, которые вы используете. Помните, однако, что предпочтительные XML-файлы - это просто XML-ресурсы. Вы можете получить парсер для файла через getResources().getXml() с вашего PreferenceActivity. Оттуда вы можете читать все, что хотите.

...