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