JAVA计时器
import java.util.Timer;
import java.util.TimerTask;
import com.EasyTomato.R;
import android.annotation.SuppressLint;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.TextView;
@SuppressLint("HandlerLeak")
public class StopWatch_Fragment extends Fragment {
private TimerHandler timerHandler;
private Timer timer;
private MyTimerTask task;
private int m_nTime = 0;// 计时
private TextView mtimeshow = null;
private Button start = null;
private Button toZero = null;
static int MinuteMilli = 1000 * 60;
static int SecondMilli = 1000;
static int Second = 60;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// TODO Auto-generated method stub
return inflater.inflate(R.layout.tool_stopwatch, null);
}
@Override
public void onActivityCreated(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onActivityCreated(savedInstanceState);
mtimeshow = (TextView) getActivity().findViewById(R.id.stopwatch_show);
timerHandler = new TimerHandler();
timer = new Timer(true);
task = new MyTimerTask();
timer.schedule(task, 0, 1);
}
private class MyTimerTask extends TimerTask {
public void run() {
m_nTime++;
timerHandler.sendEmptyMessage(0);
}
}
public class TimerHandler extends Handler {
@Override
public void handleMessage(Message msg) {
mtimeshow.setText(toStopWatchFormate(m_nTime));
}
}
private String toStopWatchFormate(int milli) {
return String.valueOf(milli / MinuteMilli) + ":"
+ String.valueOf(((milli / SecondMilli) % Second)) + ":"
+ String.valueOf(milli % SecondMilli);
}
}