LoopViewPager icon indicating copy to clipboard operation
LoopViewPager copied to clipboard

当使用自定义view,页数为3时,手动向右滑动程序崩溃

Open HappySKT opened this issue 8 years ago • 1 comments

oidRuntime: FATAL EXCEPTION: main Process: com.itheima.loopviewpager, PID: 31348 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:4438) at android.view.ViewGroup.addView(ViewGroup.java:4274) at android.support.v4.view.ViewPager.addView(ViewPager.java:1308) at android.view.ViewGroup.addView(ViewGroup.java:4215) at android.view.ViewGroup.addView(ViewGroup.java:4188) at com.itheima.loopviewpager.LoopViewPager$LoopPagerAdapter.instantiateItem(LoopViewPager.java:187) at android.support.v4.view.ViewPager.addNewItem(ViewPager.java:836) at android.support.v4.view.ViewPager.populate(ViewPager.java:1020) at android.support.v4.view.ViewPager.populate(ViewPager.java:918) at android.support.v4.view.ViewPager.onInterceptTouchEvent(ViewPager.java:1898) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2143) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2666) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2257) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2666) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2257) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2666) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2257) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2666) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2257) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2666) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2257) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2666)

HappySKT avatar Apr 25 '17 08:04 HappySKT

@Override public Object instantiateItem(ViewGroup container, int position) { int index = position % imgLength; View view = getDefaultItemView(index); ViewGroup group = (ViewGroup) view.getParent(); if (group!=null){ group.removeView(view); } container.addView(view); view.setClickable(false); return view; }

    @Override
    public void destroyItem(ViewGroup container, int position, Object object) {
      //  container.removeView((View) object);
    }

修改pageradapter之后此问题解决,但是仍不太懂为什么页数为3时出现这个问题,

HappySKT avatar May 04 '17 01:05 HappySKT