致命异常:java.lang.IllegalStateException没有活动

时间:2017-09-11 13:39:41

标签: java android crashlytics

我在crashlytics结构中得到的Stacktrace如下,

{{1}}

我发现它没有任何帮助。任何人都可以告诉我如何追踪它以及如何找出导致问题的活动以及可能出现的问题?

1 个答案:

答案 0 :(得分:2)

您使用错误的FragmentManager来嵌套片段。您应该使用

返回的fragmentManager实例
getChildFragmentManager();  

而不是使用

getSupportFragmentManager();

您可以在此处获取有关嵌套片段的更多信息:https://developer.android.com/about/versions/android-4.2.html#NestedFragments

您可以在片段中嵌入片段。这对于您希望将动态和可重用UI组件放入自身动态且可重用的UI组件的各种情况都很有用。您可以将片段插入每个片段页面。

要嵌套片段,只需在要添加片段的片段上调用getChildFragmentManager()。这将返回一个FragmentManager,您可以像通常从顶级活动那样使用它来创建片段事务。例如,这里有一些代码可以在现有的Fragment类中添加一个片段:

Fragment videoFragment = new VideoPlayerFragment();
FragmentTransaction transaction = 
      getChildFragmentManager().beginTransaction();
    transaction.add(R.id.video_fragment, videoFragment).commit();

在嵌套片段中,您可以通过调用getParentFragment()来获取对父片段的引用。