Android从当前视图获取viewpager中的片段

时间:2014-06-13 15:49:56

标签: android android-fragments

我创建了一个viewpager和一个包含2个视图的片段的适配器。当我点击第一个视图时,我想让片段中的第二个视图不可见。我在视图上实现了这个方法来处理点击事件

    @Override
    public boolean onSingleTapConfirmed(MotionEvent e) {
        ImageFragment fragment = (ImageFragment) ImageGallery.fragmentmanager.findFragmentByTag("android:switcher:"+R.id.imagerpager+":"+position);
        if (fragment != null) {
            fragment.setTransparency();
        }
        return super.onSingleTapConfirmed(e);
    }

我得到的所有片段都是空的。为了确保我的对象不为null,以下工作,但是对于错误的(预加载的)片段

ImageFragment fragment = (ImageFragment) ImageGallery.fragmentmanager.findFragmentById(R.id.imagepager);

我很确定我必须在我的适配器上实现FragmentTransition才能使fragmentmanager.findFragmentByTag正常工作。但我无法弄清楚如何做到这一点。我的适配器看起来像

public class GalleryAdapter extends FragmentStatePagerAdapter {
    private int mCount = pictureUrlList.size();

    public GalleryAdapter(FragmentManager fm) {
        super(fm);
    }

    @Override
    public Fragment getItem(int position) {
        ImageFragment fragment = ImageFragment.newInstance(position);
        return fragment;
    }

    @Override
    public int getCount() {
        return mCount;
    }

    public void setCount(int count) {
        if (count > 0 && count <= 10) {
            mCount = count;
            notifyDataSetChanged();
        }
    }

    @Override
    public int getItemPosition(Object object) {
        return POSITION_NONE;
    }
}

有人能告诉我该怎么做吗?

0 个答案:

没有答案
相关问题