【Android】CountDownTimerを利用してカウントダウン処理

CountDownTimerを利用してカウントダウン処理をしてみる。

Javaで準備されたクラスjava.util.Timerを利用する手もあるが、
Androidで準備されているandroid.os.CountDownTimerを利用する。

今回は、10からスタートし、1秒ごとに1ずつカウントダウンし、
0になったらタイムオーバーと表示する仕様とする。

// 第1引数で開始秒を指定し、一定時間ごと(第2引数)に減算していく。
CountDownTimer(開始ミリ秒,減算ミリ秒)
// インターバル毎に呼ばれる
onTick()	
// カウントダウン終了後に呼ばれる
onFinish()	

onTick()で毎秒の処理、onFinish()でカウントダウン終了後の処理を指定する。

【Activity001.java】

public class Activity001 extends Activity {
	
	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.main);

		// 10秒カウントダウンする
		new CountDownTimer(10000,1000){
			TextView count_txt = (TextView)findViewById(R.id.textView1);
			// カウントダウン処理
			public void onTick(long millisUntilFinished){
				count_txt.setText("カウントダウン"+millisUntilFinished/1000);
			}
			// カウントが0になった時の処理
			public void onFinish(){
				count_txt.setText("タイムオーバー");
			}
		}.start();
	}
}

一応、レイアウトxmlファイル
【main.xml】

<?xml version="1.0"; encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
	android:layout_width="fill_parent"
	android:layout_height="fill_parent"
	android:orientation="vertical" >
	<TextView
		android:id="@+id/textView1"
		android:layout_width="wrap_content"
		android:layout_height="wrap_content"
		android:text="TextView" />
</LinearLayout>

【実行結果】
カウントダウンタイマー

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>