gpt4 book ai didi

android - setOnChronometerTickListener 的问题

转载 作者:行者123 更新时间:2023-11-29 02:29:51 24 4
gpt4 key购买 nike

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

}

我已经试过了

chrono.setOnChronometerTickListener(chrono.onChronometerTickListener!!) {}

还尝试了我在网上看到的另一个代码,但它不是最新的。关于如何解决此问题或什至以不同的方式实现相同结果的任何想法?

最佳答案

这是对我有用的。

我在 Activity 中使用了接口(interface)Chronometer.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")
}

})

关于android - setOnChronometerTickListener 的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50124273/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com