Android SetOnChronomertickListener的问题

Android SetOnChronomertickListener的问题,android,button,kotlin,chronometer,Android,Button,Kotlin,Chronometer,所以,我试图搞乱android studio,并决定制作一个简单的计数器应用程序。每次我按下按钮(覆盖整个屏幕)它都会增加1,如果我按住按钮3秒,计数器就会重置。就这么简单。但不幸的是,似乎无法让SetOnChronomertickListener工作,我需要它来查看计时器何时达到3s。我的代码如下: var button = findViewById<Button>(R.id.button) val chrono = Chronometer(this) override fun

所以,我试图搞乱android studio,并决定制作一个简单的计数器应用程序。每次我按下按钮(覆盖整个屏幕)它都会增加1,如果我按住按钮3秒,计数器就会重置。就这么简单。但不幸的是,似乎无法让SetOnChronomertickListener工作,我需要它来查看计时器何时达到3s。我的代码如下:

var button = findViewById<Button>(R.id.button)
val chrono = Chronometer(this)

override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    setContentView(R.layout.activity_main)

    button.setOnTouchListener(OnTouchListener { v , event ->
        when (event.action) {
            MotionEvent.ACTION_DOWN -> { chronoStart()}
            MotionEvent.ACTION_UP -> { chrono.stop()}
        }
        false
    })

}

fun chronoStart() {

    chrono.start()

    chrono.setOnChronometerTickListener() {}
}

var counter = 0;

fun count(view: View){

    val button = view as Button

}
我还尝试了我在网上看到的另一个代码,但它不是最新的。
关于如何解决这个问题,或者用不同的方法来达到相同的结果,你有什么想法吗?

以下是对我有效的方法

我在活动中使用了接口<代码>计时器。OnChronometerTickListener

package com.demo.tappycounterappy

import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.os.CountDownTimer
import android.os.SystemClock
import android.util.Log
import android.view.View
import android.widget.Button
import android.widget.Chronometer
import android.widget.TextView

class MainActivity : AppCompatActivity(), Chronometer.OnChronometerTickListener {

    private lateinit var _chronometerTimer:Chronometer

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)

        _chronometerTimer = findViewById(R.id.chronometer_timer)
        _chronometerTimer.base = SystemClock.elapsedRealtime() + 5000
        _chronometerTimer.setOnChronometerTickListener(this)
        _chronometerTimer.start()


    }

    override fun onChronometerTick(chronometer: Chronometer){
        Log.e("onChronometerTick", "called")
    }
}
我已经对它进行了测试,我的onChronometerTick函数每秒都会被调用

注:是的,正如你所说。下面的代码不起作用

_chronometerTimer.setOnChronometerTickListener ( Chronometer.OnChronometerTickListener {

            fun onChronometerTick(chronometer:Chronometer) {
               Log.e("onChronometerTick", "called")
            }

        })
_chronometerTimer.setOnChronometerTickListener ( Chronometer.OnChronometerTickListener {

            fun onChronometerTick(chronometer:Chronometer) {
               Log.e("onChronometerTick", "called")
            }

        })