在Android中,要解绑并重新绑定bootTimes.observe(),希望每次启动应用或页面刷新时都重置计数 如何实现的java实例demo
时间: 2024-09-30 21:14:46 浏览: 30
javascript中的绑定与解绑函数应用示例.docx
在Android中,你可以通过监听 Activity 或 Fragment 的生命周期事件来实现在每次启动或页面刷新时重置计时。下面是一个简单的例子,展示了如何在 `onCreate()` 和 `onStart()` 方法中解绑和重绑 `bootTimes.observe()`:
```java
private BiConsumer<Long, Throwable> bootTimeObserver;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// 初始化 bootTime 观察者
bootTimeObserver = (time, error) -> {
if (error != null) {
Log.e(TAG, "Error observing boot time: ", error);
return;
}
// 当前启动或刷新时,重置计时
tvBootTime.setText("0秒"); // 或者 Util.formatSecond2String(0)
long fr = Util.getBurninTime(this);
// ...其他逻辑...
};
// 添加初始观察者
observeBootTime();
}
@Override
protected void onStart() {
super.onStart();
// 每次启动或页面刷新,都需要检查并重置计时
if (bootTimeObserver != null) {
bootTimes.removeObserver(bootTimeObserver);
}
observeBootTime();
}
private void observeBootTime() {
bootTimes.observe(this, bootTimeObserver); // 如果 bootTimes 是 LiveData 或者类似的观察者源
}
```
这个示例假设你已经有了一个 `bootTimes` 变量,它应该是某种可以观察的时间变化源头,如 `LiveData<Long>`。
阅读全文