将值动态添加到 Android 中的资源字符串数组
Dynamically add values to resource string-array in Android
有没有办法动态地向 Android 资源 string-array
添加值?
例如:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string-array name="titles">
</string-array>
</resources>
Is there a way to dynamically add values to an Android resource string-array?
否,因为资源在运行时是只读的。
是的!您可以在 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、片段或其他 Java class 中,您可以像这样从 XML 在 Java 中创建一个字符串数组:
Resources res = getResources();
String[] myBooks = res.getStringArray(R.array.my_books);
有没有办法动态地向 Android 资源 string-array
添加值?
例如:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string-array name="titles">
</string-array>
</resources>
Is there a way to dynamically add values to an Android resource string-array?
否,因为资源在运行时是只读的。
是的!您可以在 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、片段或其他 Java class 中,您可以像这样从 XML 在 Java 中创建一个字符串数组:
Resources res = getResources();
String[] myBooks = res.getStringArray(R.array.my_books);