Here is a simple example on using a countdown timer in android.
package pack.coderzheaven; import android.app.Activity; import android.os.Bundle; import android.os.CountDownTimer; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.TextView; public class TimerDemo extends Activity { Button start, stop; TextView tv; @Override public void onCreate(Bundle savedInstanceState) { super .onCreate(savedInstanceState); setContentView(R.layout.main); start = (Button)findViewById(R.id.start); stop = (Button)findViewById(R.id.stop); tv = (TextView)findViewById(R.id.tv); tv.setText( "10" ); // startting from 10. final MyCounter timer = new MyCounter( 10000 , 1000 ); start.setOnClickListener( new OnClickListener() { @Override public void onClick(View v) { timer.start(); } }); stop.setOnClickListener( new OnClickListener() { @Override public void onClick(View v) { timer.cancel(); } }); } public class MyCounter extends CountDownTimer{ public MyCounter( long millisInFuture, long countDownInterval) { super (millisInFuture, countDownInterval); } @Override public void onFinish() { System.out.println( "Timer Completed." ); tv.setText( "Timer Completed." ); } @Override public void onTick( long millisUntilFinished) { tv.setText((millisUntilFinished/ 1000 )+ "" ); System.out.println( "Timer : " + (millisUntilFinished/ 1000 )); } } } |
Here is the Layout XML(main.xml)
<? xml version = "1.0" encoding = "utf-8" ?> < LinearLayout xmlns:android = "http://schemas.android.com/apk/res/android" android:orientation = "vertical" android:layout_width = "fill_parent" android:layout_height = "fill_parent" > < TextView android:layout_width = "fill_parent" android:layout_height = "wrap_content" android:text = "CountDown Timer Demo" /> < Button android:text = "Start Timer" android:id = "@+id/start" android:layout_width = "wrap_content" android:layout_height = "wrap_content" > </ Button > < Button android:text = "Stop Timer" android:id = "@+id/stop" android:layout_width = "wrap_content" android:layout_height = "wrap_content" > </ Button > < TextView android:id = "@+id/tv" android:layout_width = "fill_parent" android:layout_height = "wrap_content" android:text = "" /> </ LinearLayout > |
Thanks à lot.
Pingback: Pass the name of button clicked to different class in Android : Android Community - For Application Development
Pingback: how to stop chronometer after particular time.? : Android Community - For Application Development
I used your code line for line, except I have an activity_main instead of a main..newer version I guess. When I click either of buttons, nothing happens. The text does not change to 10.
Paste your code here then only I can check.