Android 查看寻呼机java.lang.IllegalStateException。指定的子级已具有父级

Android 查看寻呼机java.lang.IllegalStateException。指定的子级已具有父级,android,android-viewpager,Android,Android Viewpager,我的密码 package com.pausefablogin; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.util.ArrayList; import android.content.Context; import android.graphics.Bitmap; import android.graphics.BitmapFac

我的密码

package com.pausefablogin;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.util.ArrayList;

import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.support.v4.view.PagerAdapter;
import android.support.v4.view.ViewPager;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;

public class ImageAdapter extends PagerAdapter {
Context context;
ArrayList<String> POIImages;
Bitmap iconBitMap;
public ImageAdapter(Context context,ArrayList<String> images){
    POIImages=images;
this.context=context;
System.out.println("Woking here" +images.size());
}
@Override
public int getCount() {
 return POIImages.size();
}

public boolean isViewFromObject(View view, Object object,ArrayList<String> images) {
return view == ((ImageView) object);
}

@Override
public Object instantiateItem(ViewGroup container, int position) {
ImageView imageView = new ImageView(context);


imageView.setScaleType(ImageView.ScaleType.CENTER_INSIDE);

((ViewPager) container).addView(imageView, 0);

File photos= new File(POIImages.get(position));
iconBitMap = decodeFile(photos);
iconBitMap = Bitmap.createScaledBitmap(iconBitMap,150, 150, true);

imageView.setImageBitmap(iconBitMap);


((ViewPager) container).addView(imageView, 0); // ERROR thrown here!

return imageView;
}

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



private Bitmap decodeFile(File f){
    try {

        BitmapFactory.Options o = new BitmapFactory.Options();
        o.inJustDecodeBounds = true;
        BitmapFactory.decodeStream(new FileInputStream(f),null,o);


        final int REQUIRED_SIZE=70;
        int width_tmp=o.outWidth, height_tmp=o.outHeight;
        int scale=1;
        while(true){
            if(width_tmp/2<REQUIRED_SIZE || height_tmp/2<REQUIRED_SIZE)
                break;
            width_tmp/=2;
            height_tmp/=2;
            scale++;
        }

        //decode with inSampleSize
        BitmapFactory.Options o2 = new BitmapFactory.Options();
        o2.inSampleSize=scale;
        return BitmapFactory.decodeStream(new FileInputStream(f), null, o2);
    } catch (FileNotFoundException e) {}
    return null;
}
@Override
public boolean isViewFromObject(View view, Object object) {

        return view == ((ImageView) object); 
}
}
调用
((ViewPager)container.addView(imageView,0)两次。

您调用
((ViewPager)容器)。添加视图(imageView,0)两次

imageView.setScaleType(ImageView.ScaleType.CENTER_INSIDE);

((ViewPager) container).addView(imageView, 0);

File photos= new File(POIImages.get(position));
iconBitMap = decodeFile(photos); iconBitMap = Bitmap.createScaledBitmap(iconBitMap,150, 150, true);

imageView.setImageBitmap(iconBitMap);


((ViewPager) container).addView(imageView, 0);**//Remove this line of code.**
imageView.setScaleType(ImageView.ScaleType.CENTER_INSIDE);

((ViewPager) container).addView(imageView, 0);

File photos= new File(POIImages.get(position));
iconBitMap = decodeFile(photos); iconBitMap = Bitmap.createScaledBitmap(iconBitMap,150, 150, true);

imageView.setImageBitmap(iconBitMap);


((ViewPager) container).addView(imageView, 0);**//Remove this line of code.**