gzu-liyujiang / gzu-liyujiang/AndroidPicker

存在 windowLeaked 的问题

Open
#294 3 comments 0 reactions 0 assignees View on GitHub
Dominant language
Java
Stars
6.8k
Forks
1.5k
PR merge metrics
No merged PRs in 30d

Description

## bug 描述
注意到此项目的所有 dialog 都继承于 **Dialog** 而非 **DialogFragment**,所以我在配置更改(如屏幕旋转)时对正在显示的 dialog 主动执行 **dismiss()**,然而在屏幕旋转时 windowLeaked 的问题依然存在,可能和 dialog 内部维护的 view 相关。

## 配置代码
对 dialog 的配置代码如下:
```
// 在 **fragment** 中
private fun configureDatePicker() {
val datePicker = DatePicker(requireActivity())
datePicker.wheelLayout.setRange(
DateEntity.target(1970, 1, 1),
DateEntity.target(3000, 12, 31),
DateEntity.today()
)
datePicker.setOnDatePickedListener { year, month, day ->
viewModel.refreshDate(Date(year, month, day))
}
val observer = object : DefaultLifecycleObserver {
override fun onDestroy(owner: LifecycleOwner) {
super.onDestroy(owner)
if (datePicker.isShowing) {
datePicker.dismiss()
}
owner.lifecycle.removeObserver(this)
}
}
viewLifecycleOwner.lifecycle.addObserver(observer)
datePicker.show()
}
```

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.