Пользовательские атрибуты в 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. Невозможно создать настраиваемый атрибут с тем же именем на разных элементах?
Ответы
Ответ 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 файла.
Надеюсь, что это поможет.
Ответ 2
Посмотрите, помогает ли мой подробный ответ о пользовательских атрибутах: Определение пользовательских атрибутов