您的位置:首页 > 移动开发 > Android开发

android倒计时

2013-11-10 21:20 204 查看
package com.huazi.MyTimer;

import java.util.ArrayList;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.Window;
import android.widget.Button;
import android.widget.EditText;

public class MainActivity extends Activity {

	Button startButton;
	EditText minuteText;
	EditText secondText;
	int minute;
	int second;
	
	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		requestWindowFeature(Window.FEATURE_NO_TITLE);
		setContentView(R.layout.main);

		startButton = (Button) findViewById(R.id.button_start);
		minuteText = (EditText)findViewById(R.id.minute);
		secondText = (EditText)findViewById(R.id.second);
		
		startButton.setOnClickListener(new OnClickListener() {

			@Override
			public void onClick(View v) {
				if (!minuteText.getText().toString().equals("")) {
					minute = Integer.parseInt(minuteText.getText().toString());
				}
				if (!secondText.getText().toString().equals("")) {
					second = Integer.parseInt(secondText.getText().toString());
				}
				if (minute != 0 || second != 0) {
					System.out.println(minute+":"+second);
					
					ArrayList<Integer> list = new ArrayList<Integer>();
					list.add(minute);
					list.add(second);
					
					Intent intent = new Intent();
					intent.setAction("com.huazi.MyTimer.StartActivity");
					
					intent.putIntegerArrayListExtra("times", list);
					startActivity(intent);
				}
			}
		});
	}
	
	@Override
	protected void onResume() {
		// TODO Auto-generated method stub
		minute = 0;
		second = 0;
		super.onResume();
	}
}




package com.huazi.MyTimer;

import java.util.ArrayList;

import java.util.Timer;

import java.util.TimerTask;

import android.app.Activity;

import android.content.Intent;

import android.os.Bundle;

import android.os.Handler;

import android.os.Message;

import android.util.Log;

import android.view.Window;

import android.widget.TextView;

public class StartActivity extends Activity{

static int minute = -1;

static int second = -1;

final static String tag = "tag";

TextView timeView;

Timer timer;

TimerTask timerTask;

Handler handler = new Handler(){

public void handleMessage(Message msg) {

System.out.println("handle!");

if (minute == 0) {

if (second == 0) {

timeView.setText("Time out !");

if (timer != null) {

timer.cancel();

timer = null;

}

if (timerTask != null) {

timerTask = null;

}

}else {

second--;

if (second >= 10) {

timeView.setText("0"+minute + ":" + second);

}else {

timeView.setText("0"+minute + ":0" + second);

}

}

}else {

if (second == 0) {

second =59;

minute--;

if (minute >= 10) {

timeView.setText(minute + ":" + second);

}else {

timeView.setText("0"+minute + ":" + second);

}

}else {

second--;

if (second >= 10) {

if (minute >= 10) {

timeView.setText(minute + ":" + second);

}else {

timeView.setText("0"+minute + ":" + second);

}

}else {

if (minute >= 10) {

timeView.setText(minute + ":0" + second);

}else {

timeView.setText("0"+minute + ":0" + second);

}

}

}

}

};

};





@Override

protected void onCreate(Bundle savedInstanceState) {

Log.v(tag, "log---------->onCreate!");

requestWindowFeature(Window.FEATURE_NO_TITLE);

super.onCreate(savedInstanceState);

setContentView(R.layout.start);

timeView = (TextView)findViewById(R.id.myTime);



if (minute == -1 && second == -1) {

Intent intent = getIntent();

ArrayList<Integer> times = intent.getIntegerArrayListExtra("times");

minute = times.get(0);

second = times.get(1);

}



timeView.setText(minute + ":" + second);



timerTask = new TimerTask() {



@Override

public void run() {

Message msg = new Message();

msg.what = 0;

handler.sendMessage(msg);

}

};



timer = new Timer();

timer.schedule(timerTask,0,1000);



}



@Override

protected void onDestroy() {

Log.v(tag, "log---------->onDestroy!");

if (timer != null) {

timer.cancel();

timer = null;

}

if (timerTask != null) {

timerTask = null;

}

minute = -1;

second = -1;

super.onDestroy();

}



@Override

protected void onStart() {

Log.v(tag, "log---------->onStart!");

super.onStart();

}



@Override

protected void onStop() {

Log.v(tag, "log---------->onStop!");

super.onStop();

}

@Override

protected void onResume() {

Log.v(tag, "log---------->onResume!");

super.onResume();

}



@Override

protected void onRestart() {

Log.v(tag, "log---------->onRestart!");

super.onRestart();

}



@Override

protected void onPause() {

Log.v(tag, "log---------->onPause!");

super.onPause();

}



}



效果如下

http://www.oschina.net/code/snippet_437002_10412
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: