android - 在使用 addTextChangeListener 和更新值时遇到问题?
问题描述
我目前正在 Kotlin 中学习 android,并且正在尝试创建一个小费计算器。我有两个 EditText 视图,一个用于账单金额和小费金额。我还有两个 TextView,一个用于小费金额,一个用于total + tip
.
这是我的代码的一部分,我试图让 EditText 在用户输入时自动更新 TextViews。
billInput.addTextChangedListener(object: TextWatcher) {
override fun afterTextChanged(s: Editable) {
totalAmt.text = billInput + tipInput
}
override fun beforeTextChanged(s: CharSequence, start: Int, count: Int, after: Int) {
}
override fun onTextChanged(s: CharSequence, start: Int, before: Int, count: Int) {
}
}
现在,我正在尝试添加账单 + 小费金额并更新 TextView。我在第一行旁边收到错误“期望类主体”。我使用addTextChangedListener
不正确还是我的代码有问题?我知道可能有更有效的方法可以做到这一点,但我假设我可以将 addTextChangedListener 用于两个 EditText 视图。所以,澄清一下:我想输入我的账单金额和小费金额,并自动更新“小费金额:”和“总计:”。
编辑***:在 onTextChanged 下进行数字计算(小费和总额)是否有意义?这样在接收到输入时,计算被处理并且 afterTextChanged 负责显示最终结果?
解决方案
您正在添加EditText + EditText
,应该添加值
billInput.addTextChangedListener(object: TextWatcher) {
override fun afterTextChanged(s: Editable) {
totalAmt.text = "${billInput.text.toString().toInt() + tipInput.text.toString().toInt()}"
}
override fun beforeTextChanged(s: CharSequence, start: Int, count: Int, after: Int) {
}
override fun onTextChanged(s: CharSequence, start: Int, before: Int, count: Int) {
}
}
推荐阅读
- c# - 为什么 WPF 样式标签会覆盖我的按钮的背景颜色和其他属性?
- c# - 将 JSON 反序列化为有效负载
- > 使用 JsonSerializer.Deserialize
- python-3.x - 与另一台设备连接时不显示 Window tkinter
- javascript - 有没有一种方法可以限制返回选定的视图?
- linux - Linux Programmer's Manual 的文档记录了什么?
- javascript - Angular:PrimeNG VirtualScroller:p-checkbox 在 ng-template 中未正确呈现(选中/未选中)
- r - 使用 JavaScript 的 Rvest 和网站
- c++ - 使用 CMake 将其他依赖项和库目录链接到静态库项目
- templates - 如何将信息框移到一边?
- python - Python Plotly 用文本注释多个变量