我已经在attrs.xml中创建了自定义属性:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<declare-styleable name="StarWars">
<attr name="sw_jedi" format="string" />
<attr name="sw_rank" format="string" />
</declare-styleable>我在R (例如R.styleable.StarWars_sw_jedi)中获得了int值,但是如何获得属性name (jedi)呢?
编辑得更具体一些:
我想要属性的"name“字符串,而不是来自R的值(它是一个int):
例如,我想检索"jedi“而不是int (R.styleable.StarWars_sw_jedi或R.attr.sw_jedi)
事实上,我想要一台getAttributeName(R.styleable.StarWars_sw_jedi)。
提前谢谢你!
发布于 2013-02-21 23:50:31
我不知道为什么我没有找到它,但是我正在寻找的函数是getResourceEntryName,它实际上做的正是我想要的
对我来说,如果我想要“绝地武士”,我会这么做:
String name = getResources().getResourceEntryName(R.attr.sw_jedi);发布于 2013-02-21 23:44:32
步骤1:
通过在res/ attrs.xml文件夹中创建文件值来创建自定义样式
这是attrs.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<declare-styleable name="StarWars">
<attr name="sw_jedi" format="string" />
<attr name="sw_rank" format="string" />
</declare-styleable>
</resources>声明您在res/values/strings.xml中指定的格式
<string name="sw_jedi">Hi</string>
<string name="sw_rank">Bye</string>当我在java代码中使用
它的工作没有任何歧义。
如果你想得到绝地武士的价值,就这样做
String jedi=getResources().getResourceEntryName(StarWars_sw_jedi);https://stackoverflow.com/questions/15005461
复制相似问题