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

Android:如何通过代码为LinearLayout中的TextView设置文本值?

问题原因及解决方法

核心问题

你遍历LinearLayout子View时,拿到的是**View类型**的对象,而text属性、setText()方法是TextView特有的,直接调用会无效或报错。setBackgroundColor()是View类的通用方法,所以能正常生效。另外你代码里的tv.setText = "no such property!"是语法错误,setText是方法,不是可直接赋值的属性(Kotlin里TextView的text是封装后的属性,对应Java的setText())。

修正后的代码

for (view in binding.wofGuessesList.children) {
    // 先判断当前子View是否为TextView实例
    if (view is TextView) {
        // 筛选出仍显示默认文本的TextView
        if (view.text == "Guess?") {
            // 设置用户猜中的内容
            view.text = "用户猜中的内容"
            // 设置背景色
            view.setBackgroundColor(Color.parseColor("#90EE90"))
            // 样式默认设置为invisible,需改为可见
            view.visibility = View.VISIBLE
            // 找到第一个目标TextView后跳出循环,避免批量修改
            break
        }
    }
}

补充注意事项

  • 样式中TextView默认visibility="invisible",设置文本后必须改为VISIBLE,否则用户无法看到内容。
  • 找到第一个未填充的TextView后添加break,确保每次只修改一个位置的内容。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.14 08:55:08