首页 > 解决方案 > 当我尝试将更改侦听器添加到搜索栏时应用程序关闭(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.
        }

当我点击运行时,模拟器上会提示“应用程序一直在停止”,并让我可以选择再次打开应用程序。

标签: androidkotlincrashseekbar

解决方案


解决方案:虽然只有在查看日志后才能知道确切的解决方案,但作为正确的实现,您可以尝试以下操作:

而不是这一行:

bartext.text = bar.progress.toString()

写这个:

bartext.text = progress.toString()

而已。希望能帮助到你。


推荐阅读