Navigation的使用請看筆者的另一筆記
http://www.itdecent.cn/p/bb31d2686add
本案例來自于:
https://b23.tv/BV1w4411t7UQ/p19
一、介紹
個人理解:ViewModel的生命周期與Activity生命周期一致,故可以通過在fragment中獲取viewModel來實現(xiàn)fragment之間的數(shù)據(jù)共享,如有錯誤歡迎指正

原理圖
二、關(guān)鍵代碼---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
}