IllegalArgumentException:在片段中找不到 id 的视图

IllegalArgumentException: No view found for id in fragments

我尝试搜索所有 SO 问题,但似乎是因为缺少 setContentView 或需要清理项目,我遇到的问题是 java.lang.IllegalArgumentException:找不到 ID 的视图,但它 "random" 我不能弄清楚为什么有些设备会抛出这个异常 Activity->FragmentA->嵌套片段 效果很好,但有时在我尝试打开我的应用程序时会崩溃,这是 OncreateView

中的代码
if(savedInstanceState==null)
        {
            try {

                FragmentDestination f = FragmentDestination.newInstance(null,null);
                f.setOnDestinationSelectedListener(this);
                getActivity().getSupportFragmentManager().beginTransaction().replace(R.id.destinationHolder,f).commit();
            }catch (IllegalArgumentException ex){ex.printStackTrace();}

        }

这似乎运行良好,但有时会引发异常(destinationHolder 是一个 frameLayout 容器)

有时如果我使用 Activity->FragmentA->嵌套FragmentA->replaceFragmentA 使用下一个代码有时会引发异常。

getActivity().getSupportFragmentManager().beginTransaction().replace(R.id.nested_fragment_a,f).commit();

有什么建议吗?谢谢

可能是您的 activity 或片段未正确缓存,重新创​​建会使应用程序崩溃。

试试打电话

super.onCreate(null);

看看问题是否消失。如果是这样,那么您需要正确保存片段的实例状态,activity,以便正确地重新创建它们。

您可以阅读更多关于此问题的 here and here's a similar question