android - 如果您有数组名称,如何在 string.xml 中获取字符串数组的 ID

标签 android xml

我有一种简单的方法可以使用它的字符串名称获取在 string.xml 中定义的字符串数组的 ID? 我有一个字符串数组的字符串名称,我需要一种方法来引用该数组。下面是一个示例 xml。

<string-array name="categories_array">
    <item>Clothes</item>
    <item>Electronics</item>
    <item>Gifts</item>
    <item>Food</item>
</string-array>
<string-array name="clothes">
    <item>Clothes</item>
    <item>Electronics</item>
    <item>Gifts</item>
    <item>Food</item>
    <item>Books</item>
    <item>Music</item>
    <item>Bags</item>
</string-array>
<string-array name="electronics">
    <item>Clothes</item>
    <item>Electronics</item>
    <item>Gifts</item>
    <item>Food</item>
    <item>Books</item>
    <item>Music</item>
    <item>Bags</item>
</string-array>
<string-array name="gifts">
    <item>Clothes</item>
    <item>Electronics</item>
    <item>Gifts</item>
    <item>Food</item>
    <item>Books</item>
    <item>Music</item>
    <item>Bags</item>
</string-array>
<string-array name="food">
    <item>Clothes</item>
    <item>Electronics</item>
    <item>Gifts</item>
    <item>Food</item>
    <item>Books</item>
    <item>Music</item>
    <item>Bags</item>
</string-array>

现在,如果我有数组名称“clothes”,我将如何获取它的 ID?

最佳答案

您可以在下面使用:

int resId = getResources().getIdentifier("nameOfStringResource", "array", getPackageName());

例如:

int resId = getResources().getIdentifier("categories_array", "array", getPackageName());

See docs.

关于android - 如果您有数组名称,如何在 string.xml 中获取字符串数组的 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21829677/

相关文章:

java - 您推荐什么 Java XML 库(替换 dom4j)?

java - Android XML 等效于 C+ +'s "使用命名空间...”?

android - 如何在 setImageResource() Android 中动态更改 drawable 的 id

java - Android Studio 中的 webview 出现错误 ""无法加载网页,因为 net::ERR_ACCESS_DENIED""

android - 当我知道它正在椭圆化时,StaticLayout getEllipsisCount 返回 0?

java - java中改变布局背景颜色之间的差异

java - JTabbedPane 中的 XML 解析和显示

android - 关于缺少 Leanback Intent 的 Google Play 警告

java - 如何从 Android 中的当前撰写文本中删除下划线

xml - 在 SOAP UI 模拟响应脚本中访问请求 XML