0

I created a viewpager and an adapter with fragments that contains 2 views. I want to make the second view in the fragment invisible when I click on the frist one. I implemented this method on my view to handle the click events

    @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);
    }

All fragments I get are null. To make sure that my objects are not null, following works but for the wrong(preloaded) fragments

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

I`m quite sure I have to implement a FragmentTransition to my adapter to make fragmentmanager.findFragmentByTag work. But I could not figure out how to do that. My adapter looks like

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;
    }
}

Can anybody show me how to do that?

HappyCoder
  • 23
  • 6

0 Answers0