The specified child already has a parent.You must call removeView() on the child's parent first问题
2016-07-26 14:40
573 查看
java.lang.IllegalStateException: The specified child already has a parent. You must call removeView() on the child’s parent first问题解决
ViewPaper动态加载布局时出现如下错误:``` java.lang.IllegalStateException: The specified child already has a parent. You must call removeView() on the child's parent first. at android.view.ViewGroup.addViewInner(ViewGroup.java:3936) at android.view.ViewGroup.addView(ViewGroup.java:3786) at android.support.v4.view.ViewPager.addView(ViewPager.java:1413) at android.view.ViewGroup.addView(ViewGroup.java:3727) at android.view.ViewGroup.addView(ViewGroup.java:3700) at com.zz.quicknews.fragment.HomeFragment$HomePagerAdapter.instantiateItem(HomeFragment.java:81) at android.support.v4.view.ViewPager.addNewItem(ViewPager.java:943) at android.support.v4.view.ViewPager.populate(ViewPager.java:1157) at android.support.v4.view.ViewPager.populate(ViewPager.java:1025) at android.support.v4.view.ViewPager$3.run(ViewPager.java:254) at android.view.Choreographer$CallbackRecord.run(Choreographer.java:767) at android.view.Choreographer.doCallbacks(Choreographer.java:580) at android.view.Choreographer.doFrame(Choreographer.java:549) at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:753) at android.os.Handler.handleCallback(Handler.java:739) at android.os.Handler.dispatchMessage(Handler.java:95) at android.os.Looper.loop(Looper.java:135) at android.app.ActivityThread.main(ActivityThread.java:5254) at java.lang.reflect.Method.invoke(Native Method) at java.lang.reflect.Method.invoke(Method.java:372) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698)
以上代码存在反复添加同一个view1的情况,而
这违反了AdapterView中The specified child already has a parent(已有父控件的子控件再次添加父控件)。
因此,可以按如下更改:
for (int i=0;i<tabTitleList.length;i++){ mTabLayout.addTab(mTabLayout.newTab().setText(tabTitleList[i])); View view1=inflater.inflate(R.layout.item_gridview,null); mViewList.add(view1); }
更改后即可正常工作。
相关文章推荐
- Android布局的小窍门?
- Web布局连载——两栏固定布局(五)
- 样式表CSS布局经验
- 在winform下实现左右布局多窗口界面的方法之续篇
- css网页布局中注意的几个问题小结
- DL.DT.DD实现左右的布局简单例子第1/2页
- 使用CSS框架布局的缺点和优点小结
- div+CSS网页布局的意义与副作用原因小结第1/2页
- 在winform下实现左右布局多窗口界面的方法
- Android布局技巧之创建可重用的UI组件
- Android编程之代码创建布局实例分析
- CSS顶级技巧大放送,div+css布局必知
- 动态加载JavaScript文件的两种方法
- 用div实现像table一样的布局方法
- 理解Javascript文件动态加载
- javascript动态加载二
- Bootstrap三种表单布局的使用方法
- 精彩的Bootstrap案例分享 重点在注释!(选项卡、栅格布局)
- 动态加载js、css的实例代码
- JavaScript 动态加载脚本和样式的方法