你知道如何在进行android开发时使用一个activity中的按钮点击事件让另一个activity中的一个时长为90分钟的倒计时开始倒计时吗
时间: 2023-06-18 21:04:06 浏览: 51
可以通过Intent传递数据来实现这个功能。首先,在第一个Activity的按钮点击事件中,创建一个Intent对象并使用`putExtra()`方法将需要传递的数据传递给第二个Activity。然后,使用`startActivity()`方法启动第二个Activity。
在第二个Activity中,通过`getIntent()`方法获取传递的Intent对象,并使用`getXXXExtra()`方法获取需要的数据。然后,在`onCreate()`方法中创建一个`CountDownTimer`对象,并在`onStart()`方法中启动倒计时。
以下是示例代码:
在第一个Activity中的按钮点击事件中:
```java
Button button = findViewById(R.id.button);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent intent = new Intent(FirstActivity.this, SecondActivity.class);
intent.putExtra("duration", 90 * 60 * 1000); // 90 minutes in milliseconds
startActivity(intent);
}
});
```
在第二个Activity中:
```java
public class SecondActivity extends AppCompatActivity {
private CountDownTimer countDownTimer;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_second);
long duration = getIntent().getLongExtra("duration", 0);
countDownTimer = new CountDownTimer(duration, 1000) {
@Override
public void onTick(long millisUntilFinished) {
// update UI with remaining time
}
@Override
public void onFinish() {
// countdown finished
}
};
}
@Override
protected void onStart() {
super.onStart();
countDownTimer.start();
}
@Override
protected void onStop() {
super.onStop();
countDownTimer.cancel();
}
}
```
在`onCreate()`方法中,获取传递的duration数据,并创建一个`CountDownTimer`对象。在`onStart()`方法中启动倒计时,在`onStop()`方法中取消倒计时。在`onTick()`方法中更新UI显示剩余时间,在`onFinish()`方法中处理倒计时结束的逻辑。