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

时间:2015-02-20 19:47:58

标签: android android-fragments fragment fragmenttransaction

我尝试搜索所有SO问题,但似乎是因为缺少setContentView或需要清理项目,我的问题是我得到了java.lang.IllegalArgumentException:找不到id的视图但是它的"随机"我无法弄清楚为什么有些设备会抛出这个例外 活动 - >片段A->嵌套片段 并且工作得很好,但有时经过很长一段时间,当我尝试打开我的应用程序崩溃时,它的代码在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容器)

有时如果我使用 活性 - >片段A->嵌套片段A-> replaceFragmentA 使用下一个代码有时会引发异常。

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

有什么建议吗?感谢

1 个答案:

答案 0 :(得分:1)

可能是您的活动或片段未正确缓存,重新创​​建会导致应用崩溃。

尝试拨打

super.onCreate(null);

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

您可以详细了解有此问题的herehere's a similar question