Android Studio中Toast无法正常显示完整消息如何解决?
问题原因
name变量在点击回调外部初始化,会在页面加载阶段就读取输入框内容,此时用户尚未输入,取到的是空值。后续点击按钮时不会重新读取输入框最新内容,因此Toast拼接的name部分为空。
修复方案
- 将
name变量的赋值逻辑移到点击事件内部,每次点击时实时读取输入框当前内容,修复后代码如下:
createButton.setOnClickListener{ val name = textInput.editableText.toString() Toast.makeText(this, "The name is $name", Toast.LENGTH_SHORT).show() }
- 若代码写在Fragment中,需要将
makeText的第一个参数this替换为requireContext(),避免上下文不匹配报错。
验证步骤
- 修复后先在输入框输入内容,再点击按钮触发Toast,即可正常展示拼接的变量值。
内容的提问来源于stack exchange,提问作者Somya Shrestha
相关产品推荐
相关产品推荐

