представление не должно быть нулевым после postDelayed - PullRequest
0 голосов
/ 29 декабря 2018

Я пытаюсь повторить задачу анимации с обработчиком

   import kotlinx.android.synthetic.main.fragment_main.*
   ...
   ...
   ...
   private val mInterval: Long = 3000
   private var mHandler: Handler = Handler()
   private var mStatusChecker: Runnable = object : Runnable {
    override fun run() {
                txtUserRole.text = "dddddddddd"
                YoYo.with(Techniques.Pulse)
                    .duration(700)
                    .playOn(txtUserRole)
            mHandler.postDelayed(this, mInterval)
    }
}

private fun updateStatus() {

}

fun startRepeatingTask(txtUserRole: TextView) {
    mStatusChecker.run()
}

fun stopRepeatingTask() {
    mHandler.removeCallbacks(mStatusChecker)
}

при первом запуске все работает правильно, но после первого повтора txtUserRole равно NULL

1 Ответ

0 голосов
/ 29 декабря 2018

Наконец я пытаюсь повторить анимацию без обработчика

 YoYo.with(Techniques.Pulse)
            .duration(700)
            .delay(3000)
            .withListener(
                object : Animator.AnimatorListener {
                    override fun onAnimationStart(animation: Animator) {}
                    override fun onAnimationEnd(animation: Animator) { animation.start() }
                    override fun onAnimationCancel(animation: Animator) {}
                    override fun onAnimationRepeat(animation: Animator) {}
                })
            .playOn(txtUserRole)
...