http://blog.csdn.net/jueblog/article/details/12625377
public class ChronometerDemo extends Activity {
private Chronometer chronometer;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_chronometer);
chronometer = (Chronometer) findViewById(R.id.chronometer);
//setFormat设置用于显示的格式化字符串。
//格式化字符串:如果指定,计时器将根据这个字符串来显示,替换字符串中第一个“%s”为当前"MM:SS"或 "H:MM:SS"格式的时间显示。
chronometer.setFormat("计时:%s");
}
/** 开始计时*/
public void onStart(View view) {
chronometer.start();
}
/** 停止计时*/
public void onStop(View view) {
chronometer.stop();
}
/** 重置*/
public void onReset(View view) {
//setBase 设置基准时间
//设置参数base为SystemClock.elapsedRealtime()即表示从当前时间开始重新计时)。
chronometer.setBase(SystemClock.elapsedRealtime());
}
效果:
http://blog.chinaunix.net/uid-23629988-id-3018793.html
num /=2 改为了 num = num>>1。
在Linux上的GCC实现中,有符号数的右移操作的实现为使用符号位作为补充位。因此-1的右移操作仍然为0xFFFFFFFF。这导致了死循环。