停止Android天文台的条件

时间:2014-03-21 00:16:12

标签: android chronometer

我试图在达到10秒时停止我的安卓计时器,但我似乎无法让它工作。
我的代码如下所示,任何人都可以指出我正确的方向 谢谢。

if(chronorun == false){
         chronometer.setBase(SystemClock.elapsedRealtime());
         chronometer.start();
         chronorun = true;
         Vibrator vib = (Vibrator)getSystemService(Context.VIBRATOR_SERVICE);
        vib.vibrate(100);
        elapsedTime = SystemClock.elapsedRealtime();
        if(elapsedTime == 10)
        {chronometer.stop();}
        }

2 个答案:

答案 0 :(得分:2)

您可以创建一个停止Runnable的{​​{1}},并使用Chronometer方法让它在10秒内运行:

postDelayed()

注意:Runnable stopClock = new Runnable() { @Override public void run() { chronometer.stop(); Vibrator vib = (Vibrator) getSystemService(Context.VIBRATOR_SERVICE); vib.vibrate(100); } }; chronometer.setBase(SystemClock.elapsedRealtime()); chronometer.start(); chronometer.postDelayed(stopClock, 1000 * 10); 中的第二个参数是以毫秒为单位的延迟。

答案 1 :(得分:0)

使用Chronometer.OnChronometerTickListener()这里是代码

final Chronometer myChronometer = (Chronometer) getActivity().findViewById(
        R.id.chronometer1);

myChronometer.start();
myChronometer
        .setOnChronometerTickListener(new Chronometer.OnChronometerTickListener() {

            @Override
            public void onChronometerTick(Chronometer chronometer) {
                if( chronometer.getText().toString().equalsIgnoreCase("00:10"))
                    Toast.makeText(context,
                        "time reached", Toast.LENGTH_SHORT).show();
                     //HERE YOU CAN DO YOUR CODE
            }
        });