Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class InputFragmentsPagerAdapter extends FragmentPagerAdapter {
- private SparseArray<Fragment> registeredFragments = new SparseArray<Fragment>();
- private int mCurrentCountUsingDisplay;
- public InputFragmentsPagerAdapter(FragmentManager fm, int countUsingDisplay) {
- super(fm);
- mCurrentCountUsingDisplay = countUsingDisplay;
- }
- @Override
- public Fragment getItem(int position) {
- Fragment fragment = registeredFragments.get(position);
- if(fragment==null){
- switch (position){
- case 0:
- fragment = new Fragment1();
- break;
- case 1:
- fragment = new Fragment2();
- break;
- }
- }
- return fragment;
- }
- @NonNull
- @Override
- public Object instantiateItem(ViewGroup container, int position) {
- Fragment createdFragment = (Fragment) super.instantiateItem(container, position);
- registeredFragments.put(position,createdFragment);
- return createdFragment;
- }
- @Override
- public void destroyItem(ViewGroup container, int position, Object object) {
- registeredFragments.remove(position);
- super.destroyItem(container,position,object);
- }
- @Override
- public int getCount() {
- return mCurrentCountUsingDisplay;
- }
- public View getFragmentView(int fragmentIndex) {
- return ((Fragment) registeredFragments.get(fragmentIndex)).getView();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement