Пользовательские атрибуты в Android

Я пытаюсь создать пользовательский атрибут под названием Tag для всех редактируемых элементов. Я добавил следующее К attrs.в XML

<declare-styleable name="Spinner">
    <attr name="tag" format="string" />
</declare-styleable>

<declare-styleable name="EditText">
    <attr name="tag" format="string" />
</declare-styleable>

Я получаю сообщение об ошибке "тег атрибута уже определен" для EditText. Невозможно ли создать пользовательский атрибут с одинаковым именем на разных элементах?

2 ответов


Если вы собираетесь использовать attr более чем в одном месте, поместите его в корневой элемент внутри <resources> элемент, как показано ниже:

<resources>

    <attr name="tag" format="string" />

    <declare-styleable name="Spinner">
        <attr name="tag" />
    </declare-styleable>

    <declare-styleable name="EditText">
        <attr name="tag" />
    </declare-styleable>

</resources>

теперь вы можете использовать атрибут тега в любом месте внутри этого xml-файла .

Надеюсь, Что Это Поможет.


посмотрите, помогает ли мой подробный ответ о пользовательских атрибутах:определение пользовательских attrs