Android的PagerAdapter ::获取当前项为位图 [英] Android PagerAdapter :: Get Current Item into bitmap

查看:277
本文介绍了Android的PagerAdapter ::获取当前项为位图的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我使用UniversalImageLoader我的应用程序。我的 ImageAdapte 研究延伸 PagerAdapter 。我需要currentImage为位图。通过回调methood 公共无效onLoadingComplete(位图loadedImage)我收到的位图。但是,这并不是目前显示出位图图像。无论它是下一个图像或previous图像(取决于swaping)。这里是全code:

I am using UniversalImageLoader for my application. My ImageAdapter extends PagerAdapter. I need currentImage as Bitmap. By callback methood public void onLoadingComplete(Bitmap loadedImage) i am getting bitmap. But that is not that bitmap image currently showing. Either it is the next image or previous image (depending upon swaping). Here is the full code:

    private class ImagePagerAdapter extends PagerAdapter {
    private String[] images;
    private LayoutInflater inflater;

    ImagePagerAdapter(String[] images) {
        this.images = images;
        inflater = getLayoutInflater();
    }

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

    @Override
    public void finishUpdate(View container) {
    }

    @Override
    public int getCount() {
        return images.length;
    }

    @Override
    public Object instantiateItem(View view, int position) {
        if (view != null) {
            final View imageLayout = inflater.inflate(
                    R.layout.item_pager_image, null);
            final ImageView imageView = (ImageView) imageLayout
                    .findViewById(R.id.image_item_pager);

            imageLoader.displayImage(images[position], imageView, options,
                    new ImageLoadingListener() {

                        @Override
                        public void onLoadingStarted() {
                        }

                        @Override
                        public void onLoadingFailed(FailReason failReason) {
                            //On Loading Failed Logic                               
                        }

                        @Override
                        public void onLoadingComplete(Bitmap loadedImage) {
                                                        bitmap = loadedImage;  
                            imgViewSetAsWp.setImageBitmap(bitmap);
                        }

                        @Override
                        public void onLoadingCancelled() {
                            // Do nothing
                        }
                    });


            ((ViewPager) view).addView(imageLayout, 0);

            return imageLayout;
        } else
            return view;
    }

    @Override
    //Other override methood of ImagePager

}

有没有办法得到适当的位图。

Is there any way to get the proper bitmap.

推荐答案

如何获得当前视图 - http://stackoverflow.com /一/九十一万三千七百六十二分之八百六十三万八千七百七十二

How to get current view - http://stackoverflow.com/a/8638772/913762

然后:

View currentView = ...
ImageView currentImageView = (ImageView) currentView.findViewById(...);
BitmapDrawable bd = (BitmapDrawable) currentImageView.getDrawable();
Bitmap bmp = bd.getBitmap();

这篇关于Android的PagerAdapter ::获取当前项为位图的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆