Как создать идентификатор ресурса без ресурса

Мне нужно связать несколько тегов с представлением, поэтому я использую

 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-файл и использовать эти идентификаторы. Для удобства чтения дайте им несколько хороших имен. И не используйте эти строки где-то еще в своем коде или ресурсах.