【问题标题】:How to fix error handling timer () run many times in kotlin?如何修复错误处理计时器()在kotlin中运行多次?
【发布时间】:2021-01-21 02:51:59
【问题描述】:
class HomeActivity : BaseActivity(), View.OnClickListener,
    NavigationView.OnNavigationItemSelectedListener {
   private var mTimer:Timer? = null
   private var mTimerTask: TimerTask? = null

   override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        // todo ..
        syncLocationToServer()
        // todo...
   }

   private fun syncLocationToServer() {       
        mTimer = Timer()
        mTimerTask = object : TimerTask(){
                override fun run() {     
                   Log.d("test", getDateTimeLocal())
                }
        }
      mTimer?.schedule(mTimerTask, 0, 60000L)
    }
}

我想问。 在上面的代码中,我想每 1 分钟执行一次 Log.d("test", getDateTimeLocal())。

但有时在1分钟的时候,Log.d("test", getDateTimeLocal()) 会被调用很多次。我不明白为什么,请帮助我??

【问题讨论】:

    标签: java android kotlin timer kotlin-android-extensions


    【解决方案1】:

    试试这个定时器功能:

    private fun syncLocationToServer() {       
        Timer().schedule(object : TimerTask() {
            override fun run() {
                TODO("Do something")
            }
        }, 2000)
    }
    

    【讨论】:

    • 你能解释一下为什么我的代码导致错误在1s内运行多次吗?
    • 不能说是什么问题,但我猜是调度程序。
    • 顺便说一句,检查这个网络参考并获取第一个功能,它对调度程序的工作非常容易! kotlinlang.org/api/latest/jvm/stdlib/kotlin.concurrent/…
    猜你喜欢
    • 1970-01-01
    • 2015-10-31
    • 2020-09-19
    • 2022-01-15
    • 1970-01-01
    • 1970-01-01
    • 2021-12-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多