Пользовательские атрибуты в Android - PullRequest
30 голосов
/ 31 декабря 2010

Я пытаюсь создать собственный атрибут 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 ]

70 голосов
/ 31 декабря 2010

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

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

Надежда, которая помогает.

5 голосов
/ 31 декабря 2010

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...