Как создать идентификатор ресурса без ресурса
Мне нужно связать несколько тегов с представлением, поэтому я использую
view.setTag(id, tag_object)
к сожалению, Android требует иметь идентификатор, определенный в ресурсе. Однако R-файл автоматически генерируется идентификаторами ресурсов, появляющимися в разных файлах ресурсов, поэтому я не знаю, как создать идентификатор, отделенный от любого ресурса. Во время работы я просто использую id некоторого ресурса, но он не является надежным, потому что, если я решу удалить ресурс, id может исчезнуть. Это также снижает читаемость кода с каким-то странным id для адресации тега. Возможно, я пропустил очень простой трюк как файл идентификаторов ресурсов.
2 ответов
существует тип ресурса "id", который позволяет определять произвольные идентификаторы ресурсов:
http://developer.android.com/guide/topics/resources/more-resources.html#Id
<?xml version="1.0" encoding="utf-8"?>
<resources>
<item type="id" name="foo"/>
<item type="id" name="bar"/>
</resources>
будет генерировать R.id.foo
и R.id.bar
.
вы можете просто объявить строки в ваших строках.xml-файл и использовать эти идентификаторы. Для удобства чтения дайте им несколько хороших имен. И не используйте эти строки где-то еще в своем коде или ресурсах.