Android 导航组件-导航片段时如何加载大数据?
我在浏览片段时遇到导航组件问题。我需要为特定片段准备数据,并将其加载到onViewCreated()中 由于片段的生命周期是重叠的,并且假设Android 导航组件-导航片段时如何加载大数据?,android,android-navigation,Android,Android Navigation,我在浏览片段时遇到导航组件问题。我需要为特定片段准备数据,并将其加载到onViewCreated()中 由于片段的生命周期是重叠的,并且假设prepareData()使用5s运行,片段在导航时是滞后的 如何以及何时在片段中加载大型数据?什么是最佳实践 第一片段 override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState)
prepareData()
使用5s运行,片段在导航时是滞后的
如何以及何时在片段中加载大型数据?什么是最佳实践
第一片段
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: Bundle?) {
super.onViewCreated(view, savedInstanceState)
prepareData()
}
private fun prepareData() {
runBlocking {
Log.d(TAG, "prepareData()... begin load data")
delay(5000)
Log.d(TAG, "prepareData()... end load data")
}
}
Logcat
或者使用case:在SecondFragment中,我想调用API并更新UI上的结果,它将在显示片段之前运行
你可以在我的演示项目中看到更多信息
先谢谢你