java.lang.IllegalStateException: ViewPager



我的应用程序从服务器获取所有图像URL,并将其保存到ArrayList中,并以ViewPager显示这些图像。但它会产生一个IllegalStateException.适配器给出如下:

public class FullScreenImageAdapter extends PagerAdapter {
    private Context _activity;
    private ArrayList<String> _imagePaths;
    private LayoutInflater inflater;
    // constructor
    public FullScreenImageAdapter(Context activity,
                                  ArrayList<String> imagePaths) {
        this._activity = activity;
        this._imagePaths = imagePaths;
    }
    @Override
    public int getCount() {
        return this._imagePaths.size();
    }
    @Override
    public boolean isViewFromObject(View view, Object object) {
        return view == object;
    }
    @Override
    public Object instantiateItem(ViewGroup container, int position) {
        ImageView imgDisplay;
        inflater = (LayoutInflater) _activity
                .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        View viewLayout = inflater.inflate(R.layout.item, container,
                false);
        imgDisplay = (ImageView) viewLayout.findViewById(R.id.cardImage);
            Picasso.with(_activity).load(_imagePaths.get(position)).into(imgDisplay);

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

适配器创建为

FullScreenImageAdapter adapter=new FullScreenImageAdapter(FullScreenActivity.this,all_url);

            viewPager.setAdapter(adapter);

日志如下所示:

 java.lang.IllegalStateException: The application's PagerAdapter
> changed the adapter's contents without calling
> PagerAdapter#notifyDataSetChanged! Expected adapter item count: 1,
> found: 3 Pager id: com.wat.clickzy:id/view_pager Pager class: class
> android.support.v4.view.ViewPager Problematic adapter: class
> com.wat.clickzy.FullScreenImageAdapter

请帮助我

每次

向该adapter添加/删除某些内容时,您都需要在正在使用的adapter上调用notifysetdatachanged

查看此处以获取更多清晰度。

最新更新