如何在没有资源的情况下创建资源ID

时间:2013-12-23 23:02:01

标签: android android-resources

我需要将几个标签关联到一个视图,所以我使用

 view.setTag(id, tag_object)

不幸的是,Android要求拥有资源中定义的id。但是R文件是自动生成的资源ID出现在不同的资源文件中,所以我不知道如何创建从任何资源分离的id。作为解决方法我只使用某些资源的id,但它不健壮,因为如果我决定删除资源,id就会消失。它还降低了代码的可读性,该代码具有一些用于寻址标记的奇怪id。也许我错过了非常简单的技巧作为ids资源文件。

2 个答案:

答案 0 :(得分:18)

有一种资源类型“id”,可让您定义任意资源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.fooR.id.bar

答案 1 :(得分:0)

您只需在strings.xml文件中声明字符串并使用这些ID即可。为了便于阅读,给他们一些好名字。并且不要在代码或资源中的其他位置使用这些字符串。