android-recyclerview - android recyclerView的视图项的onConfigurationChanged没有被调用
问题描述
有
android:configChanges="orientation|screenSize"
并且有一些自定义视图(RelativeLayout 的根),它有
override fun onConfigurationChanged(newConfig: Configuration?) {
super.onConfigurationChanged(newConfig)
// do something to react
}
在 scrollView 或 recyclerView 中使用相同的自定义视图。
在相同的活动/片段中,当将自定义视图放置在 scrollerViewonConfigurationChanged
中时,它在旋转时被调用,但将其放置在 recyclerViewonConfigurationChanged
中不会被调用。
代码除了一种使用scrollView,一种使用recyclerView外没有任何区别。这是一种已知的行为吗?或者如何使视图项onConfigurationChanged
在recyclerView中被调用?
解决方案
事实证明,自定义视图在父容器中的放置方式有所不同。当添加到 recyclerview 视图持有者时,它首先被包装在 FrameLayout 中,因此还有一层视图似乎阻止了自定义视图的 onConfigurationChange 被调用(因为自定义视图不是视图持有者中的直接视图)。
推荐阅读
- swift - 如何使用 NSOpenPanel 导入视频文件?
- regex - 使用捕获组匹配重复 [01] 的正则表达式
- node.js - 如何从快递发送默认的nextjs 404 not found错误页面?
- python - 如何自定义 fairseq 模型输入?
- tensorflow - 我们如何将 keras 模型 .h5 文件转换为 tensorflow 保存的模型 (.pb)
- javascript - 如何解决“尝试从 json 文件中获取 url 时我未定义”?
- visual-studio - MSBuild 以最新的 TargetPlatformVersion 为目标
- c# - JSON反序列化不适用于列表对象
- javascript - 将画布元素分配给 img.src
- kerberos - 传递 JVM 参数