Android: View.getTag/setTag и IllegalArgumentException

Да, я знаю, что Вам нужен уникальный идентификатор ресурса при вызове версии этих функций, которая требует ключа, но я не могу ни за что в жизни выяснить, как создать идентификатор ресурса, который может использоваться таким образом. Последняя переменная в моей работе привычки класса и ни один не будет твердое кодированное значение. Оба бросили IllegalArgumentException. Таким образом, что дает, как Вы используете эти методы?

Spara

15
задан Sparafusile 12 March 2010 в 18:45
поделиться

2 ответа

Из Javadoc:

Указанный ключ должен быть идентификатором объявленным в ресурсах приложения, чтобы обеспечить его уникальность.

Поэтому вы не можете просто придумать значения и поместить их в локальную переменную.

Каждый создаваемый вами ресурс, будь то строка (R.string.*), или макет (R.layout.*), или отдельный View (R.id.*), может иметь ID. Это то, что вы, должно быть, уже делаете.

Если вам нужно хранить несколько объектов в одном View, то вам нужно использовать вариант R.id в качестве ключа, например someView.setKey(R.id.my_key_1, someObject).

14
ответ дан 1 December 2019 в 00:05
поделиться

Чтобы создать идентификатор ресурса, который может использоваться идентично тем, которые вы установили в XML (с @ + id ), добавьте

<resources>
    <item type="id" name="myId"/>
</resources>

в XML в res / values ​​/ .

44
ответ дан 1 December 2019 в 00:05
поделиться
Другие вопросы по тегам:

Похожие вопросы: