我试图在达到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();}
}
答案 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
}
});