【问题标题】:Dictionary in android resourcesandroid资源中的字典
【发布时间】:2012-02-21 03:52:48
【问题描述】:

有没有办法在 android 资源中使用字典。我在 String.xml 文件中找不到关于字典的任何内容,并且可搜索文件有许多我不需要的其他字段。

已编辑:在 C# 和 Visual Studio 中,我们可以将字典以及字符串或 int 添加到资源中,但是,我找不到将字典添加到资源的任何选项,并且只有字符串和字符串数组或整数可用安卓资源。

【问题讨论】:

  • @jitendra sharma:我编辑了这个问题。

标签: android dictionary


【解决方案1】:

也许在这里回答太晚了,但你可以使用这样的东西:

res/strings.xml

<string-array name="tags">
   <item>KEY_A:Some string value 1</item>
   <item>KEY_B:Some string value 2</item>
   <item>KEY_C:Some string value 3</item>
</string-array>

这里,“:”符号代表字符串数组中键值对之间的分隔符。

然后在代码中的某处(例如 onCreate()):

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    String[] tags = getResources().getStringArray(R.array.tags);
    for(String tag : tags) {
        String[] pair = tag.split(":");

        String key = pair[0];
        String value = pair[1];

        // do whatever you want with key and value
    }
}

如果您将简单数据用于更复杂的数据,则这种方法很好,更好地使用带有 json 对象的 res/raw 文件,如上面其他人所述。 p>

【讨论】:

    【解决方案2】:

    没有这样的资源类型。您必须将任意文件放入 res/raw/ 并在 HashMap 中手动导入。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-03
    • 1970-01-01
    相关资源
    最近更新 更多