I have looked at every discussion and thread I can find on getting this to work but it is not. I have a simple timer that updates a text view (mTimeTextField in the example below). The mUpdateTimeTask run method is being executed correctly (every second) but the UI/text field is not being updated.
I have code based on the info found here: http://android-developers.blogspot.com/2007/11/stitch-in-time.html http://developer.android.com/resources/articles/timed-ui-updates.html Here is the code: package com.something.handlertest; import com.something.handlertest.R; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.os.Handler; import android.os.SystemClock; import android.view.View; import android.widget.Button; import android.widget.TextView; public class Test extends Activity { private Handler mHandler = new Handler(); private int labelNo = 0; private long currTime = 0L; private long mStartTime = 0L; TextView mTimeTextField; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); mTimeTextField = (TextView)findViewById(R.id.timeTextFieldl); Button startButton = (Button)findViewById(R.id.start_button); startButton.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { if (mStartTime == 0L) { mStartTime = System.currentTimeMillis(); mHandler.removeCallbacks(mUpdateTimeTask); mHandler.postDelayed(mUpdateTimeTask, 100); } } }); } private Runnable mUpdateTimeTask = new Runnable() { public void run() { final long start = mStartTime; //long millis = SystemClock.uptimeMillis() - start; long millis = SystemClock.uptimeMillis(); int seconds = (int) (millis / 1000); int minutes = seconds / 60; seconds = seconds % 60; //setContentView(mTimeTextField); This will blow up if I use it if (seconds < 10) { mTimeTextField.setText("" + minutes + ":0" + seconds); } else { mTimeTextField.setText("" + minutes + ":" + seconds); } //mHandler.postAtTime(this, // start + (((minutes * 60) + seconds + 1) * 1000)); mHandler.postAtTime(this, 1000); } }; } -------------- Per some suggestions, I have tried adding: setContentView(mTimeLabel); But this will crash complain about the view not having a parent. FYI, I do have a: setContentView(R.layout.main); call in my onCreate(). Any help would be appreciated. -- You received this message because you are subscribed to the Google Groups "Android Developers" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/android-developers?hl=en

