Подтвердить что ты не робот

Пользовательские атрибуты в 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. Невозможно создать настраиваемый атрибут с тем же именем на разных элементах?

4b9b3361

Ответ 1

Если вы собираетесь использовать 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 файла.

Надеюсь, что это поможет.