Android: simple time counter

后端 未结 6 2235
-上瘾入骨i
-上瘾入骨i 2020-12-09 02:56

I have a simple program with one TextView and two Buttons: Button1 and Button2.

Clicking on Button 1 will start a counter, increasing by 1 every 1 second and show res

6条回答
  •  心在旅途
    2020-12-09 03:36

    As @hovanessyan suggested: You can use the Chronometer class. E.g., as follows (with Kotlin, Java analog):

    class ChronometerToggler: Fragment() {
        private lateinit var chronometer: Chronometer
        private var isChronometerRunning = false
        private lateinit var toggleButton: FloatingActionButton
    
        override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {
            val view = inflater.inflate(R.layout.my_layout, container, false)
            chronometer = view.findViewById(R.id.chronometer)
            toggleButton = view.findViewById(R.id.toggle_button)
            toggleButton.setOnClickListener {
                onToggleButtonPressed()
            }
            return view
        }
    
        private fun onToggleButtonPressed() {
            isChronometerRunning = !isChronometerRunning
            if (isChronometerRunning) {
                chronometer.base = SystemClock.elapsedRealtime()
                chronometer.start()
            }
            else {
                chronometer.stop()
            }
        }
    }
    
    

    In the my_layout.xml:

    [...]
         
    [...]
    

提交回复
热议问题