这句话翻译过来就是:子view已经存在父视图, 如果你想要用你必须移除父视图。
个人出现问题环境:我是动态生成Imageview 之后添加到ImageViews 数组里然后放到ViewPager ,实现轮播图效果。
跟据这个提示我就去想办法去移除父视图找好了好久,试了不少办法都没能解决。但上天不负有心人,把ImageView 放在循环里动态生成就解决了。
原因分析:之前ImageView 只是new一次,但赋值是 是跑了很多遍,所以添加到ImageViews数组里的ImageView都是一个对象,所以在ViewPager的适配器里的
@Override public Object instantiateItem(View container, int position) {final View view = ImageViews.get(position); ViewPager viewPager = (ViewPager) container; viewPager.addView(view); return view;}把ImageView添加到ViewPager里跑第二遍的时候会提示已经存在父视图,以为第一遍的时候已经添加到里ViewPager。所以我要把生成ImageView 放到循环里,这样每循环一遍的ImageView都是不同的对象,就不会出现父视图重复添加。