【问题标题】:IllegalArgumentException: No view found for id in fragmentsIllegalArgumentException:在片段中找不到 id 的视图
【发布时间】:2015-02-20 19:47:58
【问题描述】:

我尝试搜索所有 SO 问题,但似乎是因为缺少 setContentView 或需要清理项目,我的问题是 java.lang.IllegalArgumentException: No view found for id but its "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();

有什么建议吗?谢谢

【问题讨论】:

    标签: android android-fragments fragment fragmenttransaction


    【解决方案1】:

    可能是您的 Activity 或 Fragment 未正确缓存,并且重新创建会使应用程序崩溃。

    尝试调用

    super.onCreate(null);
    

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

    您可以阅读更多有关此问题的herehere's a similar question

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-08-18
      • 1970-01-01
      • 2023-03-05
      • 1970-01-01
      • 1970-01-01
      • 2013-09-20
      相关资源
      最近更新 更多