Kotlin安卓开发:模拟器运行时Toast提示不显示问题求助
问题修复说明
核心错误点
- Toast实例创建后未调用
show()方法,无法触发系统渲染显示,这是Toast不弹出的直接原因 - 输入框内容提前在
onCreate生命周期中获取,此时用户还未完成输入,点击按钮时读取的永远是初始化阶段的空值
修复后的主活动代码
package paris.ksainthi.soundpark import androidx.appcompat.app.AppCompatActivity import android.os.Bundle import android.widget.Button import android.widget.EditText import android.widget.Toast class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) val submit: Button = findViewById(R.id.loginSubmit) val email: EditText = findViewById(R.id.loginMailEditText) submit.setOnClickListener { // 点击按钮时再读取输入框最新内容 val emailText = email.text.toString() // 调用show()方法触发Toast显示 Toast.makeText(applicationContext, "L'adresse e-mail est %s".format(emailText), Toast.LENGTH_LONG).show() } } }
额外说明
布局代码无逻辑错误无需调整,修改后重新运行应用,点击提交按钮即可正常弹出携带输入内容的Toast提示。
内容的提问来源于stack exchange,提问作者ksainthi
相关产品推荐
相关产品推荐

