tags:

views:

74

answers:

3

Here is the link where i have discussed about a countdown timer of format(mm:ss) in Java:

http://stackoverflow.com/questions/3491027/java-console-code-for-stopwatch-timer

Now i want to display (and update) it in a textview in android. Any clue?

A: 

To count down

You'll use a TextField and update its content using CountDownTimer, or check Rahul's answer in this same question.

To count up

In your Activity

import android.widget.Chronometer;

...

private Chronometer crono;

protected void onCreate(Bundle savedInstanceState) {
 super.onCreate(savedInstanceState);

 setContentView(R.layout.screen_crono);    

 this.crono = (Chronometer) findViewById(R.id.calling_crono);

    startCrono();
}

public void startCrono() {
 crono.setBase(SystemClock.elapsedRealtime());
 crono.start();
}

To stop it

crono.stop();

In the XML Layout screen_crono

<Chronometer
    android:id="@+id/calling_crono"
 android:layout_height="wrap_content" 
 android:layout_width="wrap_content" 
    android:textStyle="bold"
 android:textSize="14sp"/>

To set it inside a TextView, I don't think that's possible. Place it to its right or to its left, depending on what you want.

If this is not what you wanted, I hope it helps someone else.

Maragues
Got it!Thank you.
Maxood
Won't this count *up*?
Justin
yes, this'll count up, my mistake, but it looks like Maxood didn't mind :) I've updated the answer.
Maragues
+1  A: 

You can also use the CountDownTimer class available in android.

Just declare a constructor and start the timer with

timer test=new timer(30000,1000);

onTick will get fired once in every 1000ms in the above case. You can update your TextView from here

class timer extends CountDownTimer
{

 public timer(long millisInFuture, long countDownInterval) 
    {
  super(millisInFuture, countDownInterval);
  // TODO Auto-generated constructor stub
 }

 @Override
 public void onFinish() 
    {


 }

 @Override
 public void onTick(long millisUntilFinished) 
    {
  // TODO Auto-generated method stub
            // Update your textview on on tick

 }

 }
Rahul
A: 

Use the method of a timed UI update in this article it really works great

http://developer.android.com/resources/articles/timed-ui-updates.html

Also, you might use the built in android time class to display your text, it will make your formatting much easier imo

http://developer.android.com/reference/android/text/format/Time.html

schwiz