android倒计时

29 篇文章 0 订阅
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

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值