自学笔记:计时器Chronometer

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
public  class  MainActivity  extends  Activity  implements  OnClickListener
{
     /**
      * 待完善
      */
      
     private  Chronometer chronometer =  null ;
     private  long  temp;
     private  boolean  isrestart;
     @Override
     protected  void  onCreate(Bundle savedInstanceState)
     {
         super .onCreate(savedInstanceState);
         setContentView(R.layout.activity_main);
           
         chronometer  = (Chronometer) findViewById(R.id.chronometer1);
         findViewById(R.id.button1).setOnClickListener( this );
         findViewById(R.id.button2).setOnClickListener( this );
         findViewById(R.id.button3).setOnClickListener( this );
         findViewById(R.id.button4).setOnClickListener( this );
         findViewById(R.id.button5).setOnClickListener( this );
     }
       
     @Override
     public  boolean  onCreateOptionsMenu(Menu menu)
     {
         getMenuInflater().inflate(R.menu.main, menu);
         return  true ;
     }
     @Override
     public  void  onClick(View v)
     {
         switch  (v.getId())
         {
             case  R.id.button1:
                 btnStartClock();
                 break ;
             case  R.id.button2:
                 btnStopClock();
                 break ;
             case  R.id.button3:
                 btnResetClock();
                 break ;
             case  R.id.button4:
                 btnSetformat();
                 break ;
             case  R.id.button5:
                 btnClearformat();
                 break ;
             default :
                 break ;
         }
     }
     private  void  btnClearformat() //清除格式
     {
         chronometer.setFormat( null );
     }
     private  void  btnSetformat() //设置格式
     {
         chronometer.setFormat( "计时:%s" );   //设置计时格式,第一个%s将被hh:mm:ss或者mm:ss代替
     }
     private  void  btnResetClock() //重置时间
     {
         isrestart =  true ;
         chronometer.setBase(SystemClock.elapsedRealtime()); //设置计时基准时间
         Log.e( "setBase" , SystemClock.elapsedRealtime()+ "" );
     }
     private  void  btnStopClock() //停止计时
     {
         chronometer.stop();
           
         //记住停止时间
         temp = Long.parseLong(chronometer.getText().toString().split( ":" )[ 1 ]) *  1000  +
                 Long.parseLong(chronometer.getText().toString().split( ":" )[ 0 ]) *  60000 ;
         //chronometer.getBase();
         Log.e( "getBase" , chronometer.getBase()+ "" );
         Log.e( "getBase" , temp+ "" );
     }
     private  void  btnStartClock() //开始计时
     {
         chronometer.setBase(SystemClock.elapsedRealtime()-temp); //从上次停止时间开始计时
         chronometer.start();
         Log.e( "getBase" , chronometer.getBase()+ "" );
     }
       
}




本文转自 glblong 51CTO博客,原文链接:http://blog.51cto.com/glblong/1206325,如需转载请自行联系原作者
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值