Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/230.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 我正在尝试实现一个带有OnChronomertickListener的计时器_Java_Android_Chronometer - Fatal编程技术网

Java 我正在尝试实现一个带有OnChronomertickListener的计时器

Java 我正在尝试实现一个带有OnChronomertickListener的计时器,java,android,chronometer,Java,Android,Chronometer,我基本上希望我的应用程序中有一个秒表活动,30秒后会震动设备,60秒后会发出通知警报。我是应用程序开发新手,所以请不要因为我遗漏了一个明显的答案而纠缠我 我知道我需要计时器。OnChronomertickListener-但不确定如何实现 public void shotClockStart(View v) { Chronometer shotclock = (Chronometer) findViewById(R.id.chrono1); shotclock.

我基本上希望我的应用程序中有一个秒表活动,30秒后会震动设备,60秒后会发出通知警报。我是应用程序开发新手,所以请不要因为我遗漏了一个明显的答案而纠缠我

我知道我需要
计时器。OnChronomertickListener
-但不确定如何实现

public void shotClockStart(View v) {

        Chronometer shotclock = (Chronometer) findViewById(R.id.chrono1);
        shotclock.start();
        long timeElapsed = SystemClock.elapsedRealtime() - shotclock.getBase();
        if (timeElapsed >= 30000) {
            //  HERE I WANT A VIBRATION ON THE DEVICE.
        }else if(timeElapsed>=60000){
            //HERE I WANT A NOTIFICATION ALERT 
        }
    }

您必须在
计时器上设置侦听器

public void shotClockStart(View v) {
    Chronometer shotclock = (Chronometer) findViewById(R.id.chrono1);
    shotclock.setOnChronometerTickListener(new Chronometer.OnChronometerTickListener() {
        @Override
        public void onChronometerTick(Chronometer chronometer) {
            long timeElapsed = SystemClock.elapsedRealtime() - chronometer.getBase();
            if (timeElapsed >= 30000) {
                //  HERE I WANT A VIBRATION ON THE DEVICE.
            }else if(timeElapsed>=60000){
                //HERE I WANT A NOTIFICATION ALERT
            }
        }
    });
    shotclock.setBase(SystemClock.elapsedRealtime());
    shotclock.start();
}

您必须在
计时器上设置侦听器

public void shotClockStart(View v) {
    Chronometer shotclock = (Chronometer) findViewById(R.id.chrono1);
    shotclock.setOnChronometerTickListener(new Chronometer.OnChronometerTickListener() {
        @Override
        public void onChronometerTick(Chronometer chronometer) {
            long timeElapsed = SystemClock.elapsedRealtime() - chronometer.getBase();
            if (timeElapsed >= 30000) {
                //  HERE I WANT A VIBRATION ON THE DEVICE.
            }else if(timeElapsed>=60000){
                //HERE I WANT A NOTIFICATION ALERT
            }
        }
    });
    shotclock.setBase(SystemClock.elapsedRealtime());
    shotclock.start();
}

shotclock.setOnChronometerTickListener()
您能详细说明一下吗?除了您需要将处理代码放入tick事件处理程序函数之外,您的条件是错误的,您总是会在30秒后进入第一个。
shotclock.setOnChronometerTickListener()
您能详细说明一下吗?除了您需要将处理代码放入勾号事件处理程序函数之外,您的条件是错误的,您总是会在30秒后进入第一个。谢谢,效果很好。我现在能看到我错过了什么。我投了更高的票,但没有显示,因为我的重复感谢工作完美。我现在能看到我错过了什么。我投了更高的票,但因为我的代表而没有出现