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)
这应该在你的班级里面.
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.