从MainActivity.java点击按钮intent.setClass(MainActivity.this,Level.class); startActivity(intent);跳转到Menu.java页面,从Menu.java点击按钮finish();返回MainActivity.java,MainActivity.java中有个timer计时timer = new CountDownTimer(Long.MAX_VALU,怎么在它跳转页面后暂停,跳转回来后继续计时
时间: 2024-03-17 19:46:36 浏览: 117
你可以在MainActivity中重写onPause()和onResume()这两个生命周期方法,来实现跳转页面后暂停计时,跳转回来后继续计时的功能。具体实现方法如下:
1. 在onPause()方法中,调用timer.cancel()方法暂停计时器。
2. 在onResume()方法中,重新创建一个CountDownTimer对象,并调用timer.start()方法继续计时器。
代码示例如下:
```
public class MainActivity extends AppCompatActivity {
private CountDownTimer timer;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// 初始化计时器
timer = new CountDownTimer(Long.MAX_VALUE, 1000) {
@Override
public void onTick(long millisUntilFinished) {
// 计时逻辑
}
@Override
public void onFinish() {
// 计时结束逻辑
}
};
// 点击按钮跳转到Menu页面
Button button = findViewById(R.id.button);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(MainActivity.this, Menu.class);
startActivity(intent);
}
});
}
@Override
protected void onPause() {
super.onPause();
// 暂停计时器
timer.cancel();
}
@Override
protected void onResume() {
super.onResume();
// 重新创建计时器并启动
timer = new CountDownTimer(Long.MAX_VALUE, 1000) {
@Override
public void onTick(long millisUntilFinished) {
// 计时逻辑
}
@Override
public void onFinish() {
// 计时结束逻辑
}
};
timer.start();
}
}
```
在Menu页面点击按钮返回MainActivity时,会自动调用MainActivity的onResume()方法,重新创建计时器并启动,从而实现继续计时的功能。
阅读全文