今天我损失了几个小时,因为我的代码不再工作。
更新到新版本的支持库 25.1.0 后,重新加载片段视图的代码不再起作用:
这是我的代码:
FragmentManager manager = getActivity().getSupportFragmentManager();
FragmentTransaction fragmentTransaction = manager.beginTransaction();
fragmentTransaction.detach(fragment);
fragmentTransaction.attach(fragment);
fragmentTransaction.commit();
我尝试调试一些断点
public void onPause()
public void onStop()
public void onAttach(Context context)
public void onDetach()
public void onDestroyView()
public void onDestroy()
但应用程序没有进入任何该功能,并且屏幕上没有任何反应。
如果我单独调用 detach,而不调用 Attach,应用程序将进入 onPause 和 onStop,并且视图将离开屏幕。
将 androidx.navigation 从 2.3.1 更新到2.3.2.
parentFragmentManager.beginTransaction().detach(this).attach(this).commit()
已停止重新加载片段的视图。
我在这里找到的所有内容都没有帮助,但我注意到分离和附加操作分别成功执行,我决定将它们的执行分散到不同的 FragmentTransaction 实体:
parentFragmentManager.beginTransaction().detach(this).commit ()
parentFragmentManager.beginTransaction().attach(this).commit ()
它起作用了。
希望这可以节省一些人的时间。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)