0

我尝试创建一个客户经过时间,一旦我按住音量键,它就会启动计时器,并假设在我释放键后时间必须停止,但是当我释放键时计时器仍在移动时出现问题。请告知我缺少的东西谢谢

public boolean onKeyDown(int keyCode, KeyEvent event) { if ((keyCode == KeyEvent.KEYCODE_VOLUME_DOWN && shouldCont == true && event.getAction() == KeyEvent.ACTION_DOWN)){ startRecord(); 重复=真;if(repeat == true && event.getAction() == KeyEvent.ACTION_DOWN ){ t.scheduleAtFixedRate(new TimerTask() {

            public void run() {
                runOnUiThread(new Runnable() {

                    public void run() {
                        long timeGoneMillis = System.currentTimeMillis() - startTime;

                        TextView tv = (TextView) findViewById(R.id.timer); 
                        tv.setText(""+util.milliSecondsToTimer(timeGoneMillis));                         
                    }

                });
            }

        },
        //Set how long before to start calling the TimerTask (in milliseconds)
        0,
        //Set the amount of time between each execution (in milliseconds)
        1000);}
        shouldCont = false;
    }
4

1 回答 1

0

我发现我们实际上不能使用 cancel() 杀死计时器实例,所以我只添加了 t.cancel() 并且计时器实例将停止。

于 2013-05-10T14:11:18.670 回答