我正在使用 Koin 将 viewModel 注入片段。我的应用程序是单一活动。我只需要在 servisFragment 和 partFragment 中使用 sharedViewModel。我想在用红色标记的导航后从 Activity 中清除该 viewModel。
我怎样才能做到这一点?
注入viewModel的代码
private val servisViewModel by sharedViewModel<ServisViewModel>()
Run Code Online (Sandbox Code Playgroud)
Koin 共享视图模型
inline fun <reified T : ViewModel> Fragment.sharedViewModel(
name: String? = null,
noinline from: ViewModelStoreOwnerDefinition = { activity as
ViewModelStoreOwner },
noinline parameters: ParametersDefinition? = null
) = lazy { getSharedViewModel<T>(name, from, parameters) }
Run Code Online (Sandbox Code Playgroud)
感谢您的任何帮助。
我试图弄清楚在什么情况下使用哪个 Dispatcher。
我阅读了一些文档并想出了这个:
这是正确的吗?
无拘无束呢?
我正在使用Android Studio 4.0.2,但出现错误:
No value has been specified for property 'enableGradleWorkers'.
Run Code Online (Sandbox Code Playgroud) 我有一个带有导航组件的 Activity MVVM 应用程序。当我导航时一切正常。当旋转发生时,我的应用程序崩溃了,所以我使用了
findNavController().navigate(PermissionsFragmentDirections.Action_permissionsFragment_to_splashFragment())
Run Code Online (Sandbox Code Playgroud)
并且应用程序崩溃了。然后我改为
findNavController().navigate(R.id.splashFragment)
Run Code Online (Sandbox Code Playgroud)
现在这有效了。奇怪,但这只出现在onRequestPermissionsResult. 在其他地方,我像第一个代码示例一样使用它。
我设法解决了这个问题,但现在当我旋转屏幕时,我又回到了navigation_graph.
为了导航,我androidx.navigation.fragment.NavHostFragment里面有activity_home.xml
所以我的问题是如何保持Fragment轮换电流Activity?
添加了代码
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
Fabric.with(this, Crashlytics())
binding = DataBindingUtil.setContentView(this, R.layout.activity_home)
binding.viewModel = settingsViewModel
binding.lifecycleOwner = this
//small constraintlayout for showing state of app online/offline
constraintLayoutStanje.setOnClickListener {
settingsViewModel.progress()
val id: String = getId(this)
settingsViewModel.settings(id)
}
setObservers()
//all time running task
Handler().postDelayed({
mHandlerTask.run()
}, interval)
}
Run Code Online (Sandbox Code Playgroud)
观察员
fun setObservers() {
//status
settingsViewModel.status.observe(this, Observer {
when (it) …Run Code Online (Sandbox Code Playgroud) android kotlin android-jetpack android-architecture-navigation
RandomJava和 Kotlin之间有什么区别Random?他们使用相同的算法吗?