Android ViewPager中的一个bug将其与其他片段一起使用

Android ViewPager中的一个bug将其与其他片段一起使用,android,android-fragments,android-viewpager,Android,Android Fragments,Android Viewpager,我需要你的帮助 我有一个包含两个片段的活动:一个片段包含LinearLayout中的简单TextView,另一个片段:ViewPager包含FragmentPagerAdapter中的3个片段 我使用replace操作进行事务处理,但ViewPager中有错误:java.lang.IllegalStateException:Recursive entry to executePendingTransactions 这说明了这个问题,也许任何人都知道如何解决它。ViewPager基本上是一个片段,

我需要你的帮助

我有一个包含两个片段的活动:一个片段包含LinearLayout中的简单TextView,另一个片段:ViewPager包含FragmentPagerAdapter中的3个片段

我使用replace操作进行事务处理,但ViewPager中有错误:java.lang.IllegalStateException:Recursive entry to executePendingTransactions


这说明了这个问题,也许任何人都知道如何解决它。

ViewPager基本上是一个片段,不能将片段放入片段中。句号。

Um否。ViewPager扩展了ViewGroup。这怎么会成为一个碎片呢


是的,你是对的,嵌套片段不受支持。但是,如果您有一个片段包含一个ViewPager,而该ViewPager的适配器包含多个片段,那么它就可以工作。相信我,这是有效的。我正在当前的项目中使用它,我甚至有嵌套的ViewPagers,没有水平触摸事件争夺控制权,所以本质上我在片段中有片段。

使用Android支持库的修订版11,现在可以在片段中嵌套片段,以避免递归异常。看这个问题

我以其他方式决定了这个问题。在我的例子中,我使用2个活动创建TabHost,然后在第一个活动中,我使用3个片段放置ViewPager,在第二个片段中,我仅使用文本放置片段。对于嵌套片段,您需要传递
getChildFragmentManager()
在您的
FragmentPagerAdapter/FragmentStatePagerAdapter
的构造函数中,我试图完全按照您所描述的操作,并得到了问题中显示的错误。你能告诉我们你是如何做到这一点的吗?如果有人感兴趣,可以在这里找到一个有效的解决方案:FragmentPagerAdapter和FragmentStatePagerAdapter将与ViewPager一起使用,因此ViewPager中的片段。