我有一个带有子元素(不是根)元素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/

10-12 04:25