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.**