I'm an experienced .NET dev, but this is my first Android app and it's driving me nuts!

It's a countdown timer which works fine, but when you rotate the screen it reinitialised the activity which zeroed and stopped the count down.

This is what I tried;
I got rid of the CountDownTimer object and instead created a class internal to the activity which extended AsyncTask so it ran on a separate thread... No change.
I figured being an internal class it's being reinitialised with the activity.

Here's what I tried next;
I made the class an external one. The Activity passes its Context to the class and the onProgressUpdate & onPostExecute run public functions on the context to update the activity's UI.
Again, this works fine until you rotate it... Aaaargh!

However, I discovered that the async class is still running but the UI doesn't change because (I think) the activity now has a different context to the one the async class has reference to.

So that's where I am. Each solution fixes one problem & creates another.
Do I need to somehow maintain the context or am I starting to chase my own tail?

Any help will be gratefully appreciated!

Ta.
Barry