【发布时间】:2021-10-01 17:12:42
【问题描述】:
我正在尝试创建一个使用字符串作为键并将字符串数组作为值的映射。我正在我的 Datasource 类中创建这个地图。
我想用作键的字符串在 strings.xml 中声明,如下所示:
<string-array name="races">
<item>Archfiend</item>
<item>Asrai</item>
<item>Blinkbeast</item>
<item>Crogoblin</item>
<item>Demonaga</item>
<item>Dragonborn</item>
<item>Dwarf</item>
<item>Elf</item>
<item>Fairy</item>
<item>Gnome</item>
<item>Grey</item>
<item>Half-Dragon</item>
<item>Half-Elf</item>
<item>Half-Orc</item>
<item>Half-Troll</item>
<item>Halfling</item>
<item>Haud</item>
<item>Human</item>
<item>Kodama</item>
<item>Loralai</item>
<item>Nekojin</item>
<item>Parasite</item>
<item>Satyr</item>
<item>Slime</item>
<item>Tiefling</item>
</string-array>
例如,我想将字符串“Archfiend”映射到字符串数组“archfiend_subraces”。
<string-array name="archfiend_subraces">
<item>Aerial</item>
<item>None</item>
</string-array>
我的数据源类如下所示:
package com.example.anime5echaractersheet.data
import android.content.res.Resources
import com.example.anime5echaractersheet.R
class Datasource {
private val raceList: Array<String> = Resources.getStringArray(R.array.races)
val subraceMap: Map<String, Int> = mapOf(
raceList[0] to R.array.archfiend_subraces
)
}
我无法使用 getStringArray(),我不知道为什么。
我也尝试使用 getResources(),而不是 Resources,但这对我来说似乎也不可用。提前感谢您的帮助。
【问题讨论】:
标签: arrays string android-studio kotlin resources