You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在TextView中显示数组内所有Fruit对象的name属性?

解决TextView仅显示最后一个数组元素的问题

你当前的问题核心是:循环中每次直接赋值给textView.text,会覆盖之前的内容,最终只保留最后一次循环的结果。以下是几种实用的解决方法:

方法一:用joinToString快速拼接(推荐)

Kotlin集合自带的joinToString方法可以一键将所有元素的指定属性拼接成字符串,直接赋值给TextView即可:

data class Fruit(val name: String, val price: Int)

val fruits = arrayOf(
    Fruit(name = "Apple", price = 2),
    Fruit(name = "Grape", price = 3),
    Fruit(name = "Banana", price = 4)
)

// 用逗号+空格分隔,也可替换为换行符"\n"实现每行一个元素
textView.text = fruits.joinToString(separator = ", ") { it.name }

执行后TextView会显示:Apple, Grape, Banana

方法二:手动循环拼接字符串

如果需要自定义拼接逻辑(比如添加额外前缀/后缀),可以用StringBuilder逐步构建内容:

val nameBuilder = StringBuilder()
for (fruit in fruits) {
    if (nameBuilder.isNotEmpty()) {
        nameBuilder.append(" | ") // 自定义分隔符
    }
    nameBuilder.append(fruit.name)
}
textView.text = nameBuilder.toString()

方法三:使用TextView.append追加内容

直接调用append方法在原有内容后追加新元素,注意先清空TextView原有内容:

textView.text = "" // 清空初始内容
for (fruit in fruits) {
    textView.append(fruit.name)
    textView.append("\n") // 每个元素换行显示
}

内容的提问来源于stack exchange,提问作者Jannas

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.25 23:36:22