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

Android Studio Flamingo中TextView赋值报‘variable expected’错误求助

Android Studio Kotlin开发:TextView赋值时"variable expected"错误解决

问题背景

使用Android Studio Flamingo版本初学Kotlin,尝试开发一个简单应用:用户输入姓名后,点击按钮显示类似"Hello xyz"的内容。但在给TextView的.text属性赋值时,出现"variable expected"错误,已尝试谷歌搜索、三次重装Android Studio仍未解决。

报错代码

package com.example.myapplication

import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.widget.Button
import android.widget.TextView


class MainActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)

        val greetingTextView = findViewById<textView>(R.id.tv1)
        val inputField = findViewById<editText>(R.id.name)
        val submitButton = findViewById<Button>(R.id.button)

        submitButton.setOnClickListener{
            val inputName = inputField.text.toString()
            val msg = "welcome $inputName"
            greetingTextView.text = msg
        }
    }
}

错误原因

Kotlin是大小写敏感的编程语言,代码中存在两个关键错误:

  1. findViewById<textView>和findViewById<editText>中的泛型类型写错——Android SDK控件类名均为大写开头,正确类名是TextView和EditText
  2. 缺少EditText的导入语句,编译器无法识别该类型

这两个错误导致greetingTextView和inputField的类型无法被正确识别,后续调用.text属性时,编译器无法匹配对应变量类型,因此抛出"variable expected"错误。

修正后的代码

package com.example.myapplication

import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.widget.Button
import android.widget.EditText
import android.widget.TextView


class MainActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)

        val greetingTextView = findViewById<TextView>(R.id.tv1)
        val inputField = findViewById<EditText>(R.id.name)
        val submitButton = findViewById<Button>(R.id.button)

        submitButton.setOnClickListener{
            val inputName = inputField.text.toString()
            val msg = "welcome $inputName"
            greetingTextView.text = msg
        }
    }
}

关键修改点

  • 将泛型类型textView改为TextView,editText改为EditText
  • 添加import android.widget.EditText导入语句

修改后重新编译运行,错误即可解决。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.24 01:43:21