我正在与 Fragments 合作ViewModel
,并希望ViewModel
在旋转更改时保留我的 Fragment。当将 my 传递给Fragment
它ViewModelProviders.of()
时,它不会被保留,但是当我传递Activity
片段所属的 时,它会被保留。那么传递活动应该如何使用?呼入不会保留我ViewModelProviders.of(this)
的. 这是预期的行为吗?Fragment
ViewModel
class MainFragment : Fragment() {
private lateinit var viewModel: MainViewModel
fun OnXXXXXXXXX {
// This _will NOT_ retain ViewModel
viewModel = ViewModelProviders.of(this).get(MainViewModel::class.java)
// This _will_ retain ViewModel
viewModel = ViewModelProviders.of(activity).get(MainViewModel::class.java)
}
}