有没有办法动态地将值添加到Android资源string-array
?
E.g:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string-array name="titles">
</string-array>
</resources>
答案 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);