当ViewPager作为Child插入时获取Android错误android.view.ViewGroup.jumpDrawablesToCurrentState(ViewGroup.java:5035)

时间:2012-10-12 11:39:41

标签: android android-viewpager

我有子(不作为root)元素RelativeLayout的布局,然后我创建ViewPager并将其作为我的相对布局的子项插入,所以它就像

+相对布局(根)

|

+ - 相对布局(孩子)

|

+ - - ViewPager

现在 - 一切都好。

但是后来我尝试使用自己的布局向ViewPager添加一些视图项,然后我收到错误

10-12 15:32:46.777: E/AndroidRuntime(6031): FATAL EXCEPTION: main
10-12 15:32:46.777: E/AndroidRuntime(6031): java.lang.StackOverflowError
10-12 15:32:46.777: E/AndroidRuntime(6031):     at android.view.ViewGroup.jumpDrawablesToCurrentState(ViewGroup.java:5035)

ViewPager如何将我作为RelativeLayout的Child并拥有自己的Child Views?

2 个答案:

答案 0 :(得分:123)

问题解决了!

这是因为我打电话给LayoutInflater.inflate([subViewOfViewPager], [ParentOfViewPager])

它应该是:

LayoutInflater.inflate([subViewOfViewPager], [ParentOfViewPager], false))

更多字词:

发生这种情况是因为当使用第二个参数调用inflate时,视图作为给定ViewGroup的子类进行插入,然后我尝试将此视图添加到ViewPager。视图只能有一个Parent ViewGroup元素。第三个参数将attachToRoot设置为false以避免这种情况。

答案 1 :(得分:1)

简化版answer

abc