【问题标题】:Insert Image using variable name in Kotlin [duplicate]在 Kotlin 中使用变量名插入图像 [重复]
【发布时间】:2022-02-12 18:55:12
【问题描述】:

我目前正在开发一个应用程序,该应用程序具有与每个字符和图像相关联的列表。

我想使用 for 循环为所有字符插入图像,而不实际硬编码它们的图像名称:

例子:

var agentsList = listOf(
        "Astra",
        "Breach",
        "Brimstone",
        "Chamber",
        "Cypher",
        "Jett",
        "KAY/O",
        "Killjoy",
        "Neon",
        "Omen",
        "Phoenix",
        "Raze",
        "Reyna",
        "Sage",
        "Skye",
        "Sova",
        "Viper",
        "Yoru"
    )
for (agent in agentsList) {
    dataList.add(DataModel(agent, R.drawable.agent)
}

在这里,R.drawable.agent 是我要插入图像的位置,但我希望 for 循环使用 agentList 中的字符串资源为我执行此操作。

我已使用与 agentList 中的字符相同的字符串保存图像,所以这不会是问题。

【问题讨论】:

标签: android list android-studio for-loop imageview


【解决方案1】:

您可以使用字符串名称来获取可绘制资源标识符:

for (agent in agentsList) {
    val resources: Resources = context.resources
    val resourceId: Int = resources.getIdentifier(agent, "drawable", context.packageName)
    dataList.add(DataModel(agent, resourceId)
}

【讨论】:

    猜你喜欢
    • 2012-07-11
    • 1970-01-01
    • 1970-01-01
    • 2020-09-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-13
    相关资源
    最近更新 更多