android - 导航架构片段重载问题
问题描述
我在图片库中使用导航架构,当我从片段 A 到 B 然后返回到 A 时,这 3 个方法被再次调用,这将导致我的画廊重新加载,我应该在片段中加载我的数据,所以当我从 B 回到 A 我的方法没有被调用?:
- OnCreateView
- OnViewCreated
- 恢复
解决方案
诀窍是不要在 onCreateView() 中再次膨胀视图。这将再次调用您的所有生命周期事件,但这将是您维护片段状态的方式。
这是谷歌安卓团队的 Ian Lake 建议的。这是参考。
var binding: FragmentFeedsBinding? = null
override fun onCreateView(
inflater: LayoutInflater,
container: ViewGroup?,
savedInstanceState: Bundle?
): View? {
if (binding == null)
binding = FragmentFeedsBinding.inflate(inflater, container, false)
return binding?.root
}
推荐阅读
- discord.js - 如何禁止用户ping某人?
- intellij-idea - 如何将bitbucket与intellij集成?
- python - Python:2n x 2n 矩阵的逆矩阵
- bash - 来自 bash 脚本的 Ubuntu 20.04.2 Bluetoothctl SCAN
- api - laravel API 的请求正文中存在的任何额外字段
- amazon-web-services - Cloudformation Elasticbeanstalk 指定共享负载均衡器的目标组
- r - 如何使用估算的 MICE 数据创建新变量
- c++ - 无法在 Visual Studio Code 中运行多个 C++ 文件
- testing - Testcafe 无法与本地 zat 服务器通信(zendesk-app-tools)
- python - 破解异或加密文本的密钥