Navigation的使用请看笔者的另一笔记
https://blog.csdn.net/rolandlee01/article/details/105473193
本案例来自于:
https://b23.tv/BV1w4411t7UQ/p19
一、介绍
个人理解:ViewModel的生命周期与Activity生命周期一致,故可以通过在fragment中获取viewModel来实现fragment之间的数据共享,如有错误欢迎指正
二、关键代码—fragment 中获取viewModel
//fragment 中获取viewModel
override fun onCreateView(
inflater: LayoutInflater, container: ViewGroup?,
savedInstanceState: Bundle?
): View? {
// Inflate the layout for this fragment
//viewmodel的持有者为Acitvity
mViewModel=ViewModelProvider(activity!!).get(MyViewModel::class.java)
var binding:FragmentDetailBinding=DataBindingUtil.inflate(inflater,R.layout.fragment_detail,container,false)
binding.data=mViewModel
//databing的生命周期也是与Activity一致
binding.lifecycleOwner=activity
return binding.root
}