如何解决导航组件 - 如何在导航 Fragment 时加载大数据?
我在导航 Fragment 时遇到导航组件问题。我需要为特定 Fragment 准备数据,并在 onViewCreated() 中加载它。
由于 Fragment 的生命周期是重叠的,假设 prepareData()
运行 5 秒,Fragment 导航时滞后。
如何以及何时在 Fragment 中加载大数据?什么是最佳实践?
第一个片段
override fun onViewCreated(view: View,savedInstanceState: Bundle?) {
super.onViewCreated(view,savedInstanceState)
binding!!.btnOpenSecondFragment.setOnClickListener {
findNavController().navigate(R.id.actSecondFragment)
}
}
第二个片段
override fun onViewCreated(view: View,savedInstanceState)
prepareData()
}
private fun prepareData() {
runBlocking {
Log.d(TAG,"prepareData()... begin load data")
delay(5000)
Log.d(TAG,"prepareData()... end load data")
}
}
或者情况:在SecondFragment中,我想在UI上调用API并更新结果,它将在Fragment显示之前运行。
您可以在我位于 here 的演示项目中看到更多信息。
提前致谢。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。