在Android中动态添加值到资源字符串数组

时间:2016-04-11 23:29:04

标签: android arrays android-resources

有没有办法动态地将值添加到Android资源string-array

E.g:

    <?xml version="1.0" encoding="utf-8"?>
<resources>
    <string-array name="titles">
    </string-array>
</resources>

2 个答案:

答案 0 :(得分:3)

  

有没有办法动态地将值添加到Android资源字符串数组?

不,因为资源在运行时是只读的。

答案 1 :(得分:0)

是的!您可以在Android中创建静态字符串数组,但无法将值动态添加到Android资源。 事实证明,在Android中创建和使用静态字符串数组很容易。当然,正如我在Java字符串数组教程中所描述的,您可以使用Java代码来完成此操作,但是对于Android,我正在谈论使用XML进行此操作。

简而言之,这是在Android XML文件中定义静态字符串数组的方式:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string-array name="my_books">
        <item>Scala Cookbook</item>
        <item>Play Framework Recipes</item>
        <item>How I Sold My Business: A Personal Diary</item>
        <item>A Survival Guide for New Consultants</item>
    </string-array>
</resources>

然后在Activity,Fragment或其他Java类中,您可以像这样从XML中以Java创建字符串数组:

Resources res = getResources();
String[] myBooks = res.getStringArray(R.array.my_books);