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是大小写敏感的编程语言,代码中存在两个关键错误:
findViewById<textView>和findViewById<editText>中的泛型类型写错——Android SDK控件类名均为大写开头,正确类名是TextView和EditText- 缺少
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
相关产品推荐
相关产品推荐

