Да, я знаю, что Вам нужен уникальный идентификатор ресурса при вызове версии этих функций, которая требует ключа, но я не могу ни за что в жизни выяснить, как создать идентификатор ресурса, который может использоваться таким образом. Последняя переменная в моей работе привычки класса и ни один не будет твердое кодированное значение. Оба бросили IllegalArgumentException. Таким образом, что дает, как Вы используете эти методы?
Spara
Из Javadoc:
Указанный ключ должен быть идентификатором объявленным в ресурсах приложения, чтобы обеспечить его уникальность.
Поэтому вы не можете просто придумать значения и поместить их в локальную переменную.
Каждый создаваемый вами ресурс, будь то строка (R.string.*
), или макет (R.layout.*
), или отдельный View
(R.id.*
), может иметь ID. Это то, что вы, должно быть, уже делаете.
Если вам нужно хранить несколько объектов в одном View
, то вам нужно использовать вариант R.id
в качестве ключа, например someView.setKey(R.id.my_key_1, someObject)
.
Чтобы создать идентификатор ресурса, который может использоваться идентично тем, которые вы установили в XML (с @ + id
), добавьте
<resources>
<item type="id" name="myId"/>
</resources>
в XML в res / values /
.