我只想知道如何做到这一点......这是我的代码,我找不到办法做我想做的事......
public class IntroActivity extends AppCompatActivity {
private static int TIME_OUT = 5000; //Time to launch the another activity
TimerTask mTimerTask;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_intro);
mTimerTask = new TimerTask() {
public void run() {
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
Intent i = new Intent(IntroActivity.this, login.class);
startActivity(i);
finish();
}
}, TIME_OUT);
}};
}
public void skip(View view) {
Intent entrar = new Intent(IntroActivity.this, login.class);
startActivity(entrar);
finish();
stopTask();
}
public void stopTask() {
mTimerTask.cancel();
}
}
我希望在时间结束时进入下一个活动,并在我按下跳过按钮时停止计时器并转到下一个活动。
此代码不会停止计时器,但已跳过并停止跳过方法。
答案 0 :(得分:0)
你应该将TimerTask与Timer类一起使用,并注意:如果你使用TimerTask执行一次执行,并且任务被调度,那么无论你怎么称为cancel方法,它都将执行完毕。
Timer timer = new Timer();
timer.schedule(mTimerTask, 5000);
....
mTimerTask = new TimerTask(){
@Override
public void run(){
if(YourActivity.this.isDestroyed()){
return;
}else {
..... // your code here
}
}
}