文章目录
在Android中,ViewModel
是一种用于管理与UI相关的数据的架构组件。它的生命周期与 Activity
或 Fragment
的生命周期相独立,能够有效地处理配置更改(如旋转屏幕)而不会丢失数据。以下是创建 ViewModel
的几种常见方式。
ViewModelProvider_4">1. 使用 ViewModelProvider
这是最常用的方式,适用于 Activity
和 Fragment
。
ViewModel_7">1.1 在 Activity
中创建 ViewModel
定义一个自己的 ViewModel 类:MyViewModel
class MyViewModel: ViewModel() { }
在 Activity 中创建 MyViewModel 的对象,关键代码:ViewModelProvider(this).get(MyViewModel::class.java)
class MyActivity : AppCompatActivity() {private lateinit var viewModel: MyViewModeloverride fun onCreate(savedInstanceState: Bundle?) {super.onCreate(savedInstanceState)setContentView(R.layout.activity_main)viewModel = ViewModelProvider(this).get(MyViewModel::class.java)}
}
ViewModel_25">1.2 在 Fragment
中创建 ViewModel
在 Fragment 中创建 MyViewModel 的对象,也是使用 ViewModelProvider。 关键代码:ViewModelProvider(requireActivity()).get(MyViewModel::class.java)
class MyFragment : Fragment() {private <