0
    class MyPagerAdaptor extends PagerAdapter
{
    LayoutInflater inflater;

    public MyPagerAdaptor(){
        inflater = getLayoutInflater();
    }

    @Override
    public int getCount() {
        // TODO Auto-generated method stub
        return mIdList.size();
    }

    @Override
    public Object instantiateItem(ViewGroup viewGroup, int position) {

        // TODO Auto-generated method stub
        /*if(flag)
        {
            mPosToShare = position;
            System.out.println("mPosToShare......: "+mPosToShare);
            flag = false;
        }*/
        System.out.println("instantiateView............."+position);
        View imageLayout = inflater.inflate(R.layout.item_pager_image, viewGroup, false);
        ImageViewTouch imageView = (ImageViewTouch) imageLayout.findViewById(R.id.image);

        try 
        {
            InputStream is = mExpansionFile.getInputStream("worlatlaspronewmaps/"+title[1]+mIdList.get(position)+".jpg");
            //InputStream is1 = mExpansionFile.getInputStream("worlatlaspronewmaps/"+title[1]+mIdList.get(position-1)+".jpg");
            if(is == null)
            {
                is = mExpansionFile.getInputStream("worlatlaspronewmaps/"+title[1]+mIdList.get(position)+".JPG");
            }

            bitmap = BitmapFactory.decodeStream(is,null,bfOptions);
            System.out.println(bitmap);

            imageView.zoomTo(0.5f,50);
            imageView.setImageBitmap(bitmap);

        }  
        catch (IOException e) 
        {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

        viewGroup.addView(imageLayout,0);
        return imageLayout;
    }

    @Override
    public boolean isViewFromObject(View view, Object object) {
        // TODO Auto-generated method stub
        return (view==object);
    }

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

MyPagerAdaptor クラスは、ページャーのすべてのビューにイメージビューが含まれているため、ビューページャーにビットマップを設定していますが、ビットマップの参照を取得すると、表示されていない右または左のビットマップの参照が与えられます。表示されるビットマップ参照が必要です。

4

1 に答える 1

0
objectOfViewPager.getCurrentItem();

これは、0 からインデックス付けされた現在のアイテムを返します。

編集:このようにビューへの参照を取得できます。

int index = objectOfViewPager.getCurrentItem();
View view = objectOfViewPager.getChildAt(index);

編集2:(さらに説明する)

やりたいことは bitmap を変更することだけなので、次のことを行う必要があります。

int index = objectOfViewPager.getCurrentItem();
mIdList.set(index,whateverBitmapyouwant);
objectOfAdapter.notifyDataSetChanged();
于 2013-05-06T11:20:35.917 に答える