Android HackyView寻呼机显示的位置不正确

Android HackyView寻呼机显示的位置不正确,android,android-viewpager,picasso,Android,Android Viewpager,Picasso,我正在使用此库在viewpager(HackyViewPager)中显示一些照片 展示图片效果很好 但当我想显示正确照片的名称时,它会显示错误的位置名称 我想知道这个错误 mViewPager.setAdapter(new SamplePagerAdapter()); public class SamplePagerAdapter extends PagerAdapter { final String[][] sDrawables = {{"Chrysanthemum.

我正在使用此库在viewpager(HackyViewPager)中显示一些照片

展示图片效果很好

但当我想显示正确照片的名称时,它会显示错误的位置名称

我想知道这个错误

        mViewPager.setAdapter(new SamplePagerAdapter());

public class SamplePagerAdapter extends PagerAdapter {
    final String[][] sDrawables = {{"Chrysanthemum.jpg","0"},{"Desert.jpg","1"},{"Hydrangeas.jpg","2"},{"Jellyfish.jpg","3"}, {"Koala.jpg","4"},{"Lighthouse.jpg","5"},{"Penguins.jpg","6"},{"Tulips.jpg","7"} };

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

    @Override
    public View instantiateItem(ViewGroup container,int position) {

        PhotoView photoView = new PhotoView(container.getContext());

        Log.i("xxx position ",position + " " + sDrawables[position][1]);

       tvImageName.setText(sDrawables[position][1]);
        Picasso.with(ViewPagerActivity.this)
                .load("http://myserver/uploads/" + sDrawables[position][0])
                .placeholder(R.drawable.placeholder)
                .error(R.drawable.error)
               .into(photoView);

        container.addView(photoView, LayoutParams.MATCH_PARENT,LayoutParams.MATCH_PARENT);

        return photoView;
    }

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

    @Override
    public boolean isViewFromObject(View view, Object object) {
        return view == object;
    }

}

你能帮我找出为什么会这样吗?

最后我自己找到了答案

我们必须为HackyViewPager添加一个监听器(setOnPageChangeListener),而不是在适配器中添加代码

 mViewPager.setOnPageChangeListener(new ViewPager.OnPageChangeListener() {
        @Override
        public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {

        }

        @Override
        public void onPageSelected(int position) {
            Log.i("xxx position ",position + " " + sDrawables[position][1]);
            tvImageName.setText(sDrawables[position][1]);
        }

        @Override
        public void onPageScrollStateChanged(int state) {

        }
    });

最后我自己找到了答案

我们必须为HackyViewPager添加一个监听器(setOnPageChangeListener),而不是在适配器中添加代码

 mViewPager.setOnPageChangeListener(new ViewPager.OnPageChangeListener() {
        @Override
        public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {

        }

        @Override
        public void onPageSelected(int position) {
            Log.i("xxx position ",position + " " + sDrawables[position][1]);
            tvImageName.setText(sDrawables[position][1]);
        }

        @Override
        public void onPageScrollStateChanged(int state) {

        }
    });