Android当ViewPager插入为Child时出错android.view.ViewGroup.jumpDrawablesToCurrentState(ViewGroup.java:5035)
我有小孩(不作为根)的元素的布局RelativeLayout,然后我创buildViewPager并将其作为我的相对布局的子项插入,所以它就像
+相对布局(root)
|
+ – 相对布局(子)
|
+ – – 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 View呢?
问题解决了!
这是因为我打电话LayoutInflater.inflate([subViewOfViewPager],[ParentOfViewPager])
需要
更改为LayoutInflater.inflate([subViewOfViewPager],null)
更多词语:
这是因为当调用膨胀与第二个参数,视图插入作为给定ViewGroup子,然后我尝试添加此视图到ViewPager。 View只能有一个Parent ViewGroup元素。
答案的简化版本
@Nullable @Override public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { View view = inflater.inflate(R.layout.cab_listing, container,false); return view; }