1,首先看下Activity,秒表的实现主要通过Handler延迟发送消息来实现的,因为我们这里是精确到0.1秒,所以延迟100ms进行发送。具体实现看下面代码:
import java.util.ArrayList;
import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.Window;
import android.widget.Button;
import android.widget.ListView;
import android.widget.TextView;
public class MainActivity extends Activity implements OnClickListener {
private TextView minuteTv, secondTv, longmillTv;
private Button resetBtn, startBtn;
private ListView listView;
private TimeAdapter adapter;
private ArrayList<String> list = new ArrayList<String>();
private boolean isPaused = false;
private String timeUsed;// 传入adapter的数据
private long longmillTime;
private boolean leftBtnFlag = false;// 判断是复位还是计次,ture为计次
private boolean rightBtnFlag = true;// 判断是开始还是暂停,true为开始
private static final int TICK_WHAT = 2;
private static final int TIME_TO_SEND = 100;
private Handler uiHandle = new Handler() {
public void handleMessage(android.os.Message msg) {
switch (msg.what) {
case TICK_WHAT:
if (!isPaused) {
addTimeUsed();
updateClockUI();
}
uiHandle.sendEmptyMessageDelayed(TICK_WHAT, TIME_TO_S