android - 当我尝试将更改侦听器添加到搜索栏时应用程序关闭(Android Studio、Kotlin)
问题描述
我正在尝试使用 Android Studio 和 Kotlin 编写一个带有 TextView 和 Seekbar 的简单应用程序。我希望 TextView 显示 SeekBar 的当前进度。
将 setOnSeekBarChangeListener 与我的搜索栏一起使用时遇到了麻烦。该应用程序在运行代码后立即崩溃并且没有错误。
这就是我的代码的样子:
val bar = findViewById<SeekBar>(R.id.bar)
val bartext = findViewById<TextView>(R.id.bartext)
bar.setOnSeekBarChangeListener(object : SeekBar.OnSeekBarChangeListener{
override fun onProgressChanged(seekBar: SeekBar, progress: Int, fromUser: Boolean) {
bartext.text = bar.progress.toString()
}
override fun onStartTrackingTouch(seekBar: SeekBar) {
// Write code to perform some action when touch is started.
}
override fun onStopTrackingTouch(seekBar: SeekBar) {
// Write code to perform some action when touch is stopped.
}
当我点击运行时,模拟器上会提示“应用程序一直在停止”,并让我可以选择再次打开应用程序。
解决方案
解决方案:虽然只有在查看日志后才能知道确切的解决方案,但作为正确的实现,您可以尝试以下操作:
而不是这一行:
bartext.text = bar.progress.toString()
写这个:
bartext.text = progress.toString()
而已。希望能帮助到你。
推荐阅读
- javascript - 无法更改 Vue 组件的对象属性(真正的异常)
- netlogo - 根据 Netlogo 中的属性匹配两种不同的代理类型
- jenkins - 如何使用 Jenkins Github Branch Source 插件指定其他受信任的文件?
- c# - 如何找到每个值在通用类列表中重复多少次?
- excel - Range.Style 因语言而异
- r - 从字符串中删除特定标签 - R
- php - Laravel 使文本输出中的 URL 可点击(不转义)
- itext7 - 使用 pdfSweep - 通配符删除文本?
- r - 使用 tidyverse 从一列中选择从另一列过滤的级别
- amazon-web-services - 如何以编程方式获取“分发 ID”以使云端缓存无效?