我有一个带有子元素(不是根)元素RelativeLayout的布局,然后创建了ViewPager并将其作为我的Relative布局的子元素插入,就像
+相对布局(根目录)
|
+-相对布局(子级)
|
+--ViewPager
目前,一切正常。
但是然后我尝试使用自己的布局将一些 View 项添加到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)
作为拥有相对应的 subview 的RelativeLayout的 subview ,该ViewPager如何处理?
最佳答案
问题解决了!
这是因为我调用LayoutInflater.inflate([subViewOfViewPager], [ParentOfViewPager])
它应该是:LayoutInflater.inflate([subViewOfViewPager], [ParentOfViewPager], false))
更多单词:
发生这种情况的原因是,当使用第二个参数调用inflate时, View 将作为给定ViewGroup的子子级插入,然后尝试将此 View 添加到ViewPager。 View 只能有一个父ViewGroup元素。第三个参数将attachToRoot
设置为false以避免这种情况。
关于android - 如何修复android中的 'android.view.ViewGroup.jumpDrawablesToCurrentState(ViewGroup.java:5035)'错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12858264/