闪屏 Android XML

问题描述 投票:0回答:1

我正在尝试使用 Splash Screen Api 为带有导航组件的 Android 应用程序实现启动屏幕。当我需要从片段视图模型中保持某些状态时,我遇到了问题,同时如果我调用 installSplashScreen 而不是在 MainActivity 中,应用程序就会崩溃。我不知道如何解决这个问题,似乎我需要在没有 api 的情况下添加自定义片段启动。有什么想法吗?

installSplashScreen().apply {
     setKeepOnScreenCondition {
         homeViewModel.homeCollectionState.value !is HomeCollectionState.Loading &&
            homeViewModel.homeCollectionState.value !is HomeCollectionState.Idle
         }
}
android xml viewmodel splash-screen
1个回答
0
投票

您可以将 ViewModel 附加到活动和片段。

您需要将其范围限定到活动,以确保获得相同的实例。

在您的活动中:

val viewModel = ViewModelProvider(this).get(HomeViewModel::class.java)

在你的片段中:

val viewModel = ViewModelProvider(requireActivity()).get(HomeViewModel::class.java)
© www.soinside.com 2019 - 2024. All rights reserved.