Android-我试图在每次点击一个按钮时重置我的计时器,当没有点击5秒时,需要它回到原始页面(活动)

joe*_*cks 0 android timer onclick reset android-activity

COED到目前为止:我不会,如果我应该使用线程或什么样的计时器-_--

clicker.setOnClickListener(new View.OnClickListener() {

    public void onClick(View v) {

        counter++;

        seconds = 5000;
        timer.schedule(new TimerTask() {
            public void run() {
                Intent x =  new Intent(startClickActivity.this, ClickCountActivity.class);
                startActivity(x);
            }
        }, seconds);
    }
});
Run Code Online (Sandbox Code Playgroud)

Mar*_*ski 8

这应该在你的班级里面.

class MyTimerTask extends TimerTask
{
   public void run()
   {
      Intent x =  new Intent(startClickActivity.this, ClickCountActivity.class);
      startActivity(x);
   }
}
Run Code Online (Sandbox Code Playgroud)

而这在旧地方.

// ...
// Your code
MyTimerTask task = new MyTimerTask();
final long seconds = 5;
timer.schedule(task,seconds*1000L);
clicker.setOnClickListener(new View.OnClickListener() 
{
   public void onClick(View v) 
   {                                                                   
      counter++;
      task.cancel();
      task = new MyTimerTask();
      timer.schedule(task,seconds*1000L);
   }
});
Run Code Online (Sandbox Code Playgroud)

我认为它应该工作得很好:)

顺便说一下,你的代码:

if(seconds==5000)
   timer.cancel(); 
Run Code Online (Sandbox Code Playgroud)

将始终取消/终止您的计时器,因为seconds变量由您设置并始终为5000.