Home | 简体中文 | 繁体中文 | 杂文 | Github | 知乎专栏 | Facebook | Linkedin | Youtube | 打赏(Donations) | About
知乎专栏

27.6. 定时与延迟执行

27.6.1. Timer

			
Timer().schedule(object : TimerTask() {
            override fun run() {
              //需要执行的任务
            }
        }, 1000)
			
			
			
			
Timer().schedule(object : TimerTask() {
            override fun run() {
                //需要执行的任务
            }
        }, 0,2000)
		
			
			
		
	private var seconds = 0

    private val timer = Timer()
    private val timerTask: TimerTask = object : TimerTask() {
        override fun run() {
            val hours = seconds / 3600
            val minutes = (seconds % 3600) / 60
            val secs = seconds % 60

            var time = "00:00"

            if (hours == 0) {
                // 格式化时间为 HH:MM:SS
                time = String.format("%02d:%02d", minutes, secs)
            } else {
                // 格式化时间为 HH:MM:SS
                time = String.format("%02d:%02d:%02d", hours, minutes, secs)
            }

            binding.textViewTimer.text = time
            seconds++
        }
    }		
    
	override fun onCreateView(
        inflater: LayoutInflater,
        container: ViewGroup?,
        savedInstanceState: Bundle?
    ): View {

        _binding = FragmentCallFullscreenBinding.inflate(inflater, container, false)

        timer.schedule(timerTask, 1000, 1000)

        return binding.root

    }

    override fun onDestroyView() {
        super.onDestroyView()
        _binding = null
        timer.cancel()
    }