之前一直都是这么写的
pageViewModel = ViewModelProviders.of(this).get(PageViewModel.class); //参数this是当前fragment
后来发现,这么写,问题很大==
当我们使用ViewPager(或ViewPager2)时,在Fragment重建后,ViewModel会被重新创建(与Fragment重建前的ViewModel不是同一个)
后来我改成了这样
pageViewModel = ViewModelProviders.of(this).get(key, PageViewModel.class);
以为传入参数key后就ok了,然而ViewModel仍然被重建了
直到改成这样,才万事大吉^_^
pageViewModel = ViewModelProviders.of(requireActivity()).get(key, PageViewModel.class);
Android在Activity中与Fragment中创建自定义菜单的区别
区别就在这里,Activity中添加菜单要这样: public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R ...
EventBus框架在Android多Pane(Fragment)中的应用
通常多pane的设计中,比如Fragment A是个Headline,Fragement B是detail,那么B通常需要实现A的点击事件的接口,这样子的话,两个fragment就高耦合了,而且需要在 ...
在EntityFramework6中管理DbContext的正确方式——2DbContext的默认行为&l