我不得不更新我的项目以进行进一步的工作。Gradle 从 4.8.1 更新到 5.1.1。然后我通过重构将项目转移到androidx。一切似乎都已成功更新且没有错误。我立即启动了应用程序,结果发现我的片段在我需要时没有更新。
我的片段:
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == Code && resultCode == RESULT_OK) {
Toast toast = Toast.makeText(getActivity(),
"Это уведомление удачно выводится, значит не работает лишь обновление", Toast.LENGTH_SHORT);
toast.show();
reLoadFragment();
}
}
public void reLoadFragment() {
FragmentTransaction ft = getFragmentManager().beginTransaction();
ft.detach(this).attach(this).commit();
}
在更新项目之前,一切正常。当一个从片段启动的活动被关闭时,片段被更新。现在我忍不住在网上找任何例子。尝试了很多例子。错误不会崩溃,但不会发生更新。我很乐意得到任何答案,我想了解这个问题。也许有些解决方案已经过时,需要更换一些东西?如果你突然需要额外的代码,我可以把它扔掉。提前致谢!
是的,根据文档,它现在不起作用:
因此,有必要启动单独的事务以使事务操作不会相互覆盖。例如像这样:
好吧,甚至更好 - 通过以某种方式订阅某些事件来正确更新片段。