Handler updating UI Timer
<p>I use the following code to update a timer in my UI.
The problem with this code however, is that with each second passed, it updates by +1 second.
I think I understand <strong>why</strong> this happens, however I don't know how to fix it.</p>

<pre><code>        private Handler mHandler = new Handler();
        ....


    private Runnable mUpdateTimeTask = new Runnable() {
           public void run() {
                                mDifference = System.currentTimeMillis() - mStartTime;
                                workSum = workSum + mDifference;
                                TextViewTime.setText("Time so far: " + formatTime(workSum));
                                mHandler.postDelayed(this, 1000);

           }
        };

        public void onClick(View v) {
                switch (v.getId()) {
                case R.id.start_button:
                startButton.setEnabled(false);
                stopButton.setEnabled(true);

                        if (mStartTime == 0L) {
                    mStartTime = System.currentTimeMillis();
                    mHandler.removeCallbacks(mUpdateTimeTask);
                    mHandler.postDelayed(mUpdateTimeTask, 1000);
                        }
</code></pre>

<p>Help would be greatly appreciated!</p>
