load multiple tab contents in view pager without getting it again load multiple tab contents in view pager without getting it again json json

load multiple tab contents in view pager without getting it again


Yes it's possible. My answer is not from an official source but it's from my previous experience.

Create your ViewPager as a member of the Activity:

private ViewPager pager;

Then inside onCreate() method, initialize your ViewPager:

pager=(ViewPager)findViewById(R.id.pager);

Initialize your tablayout and and a tab selected listener:

tabLayout.addOnTabSelectedListener(                new TabLayout.OnTabSelectedListener() {                    @Override                    public void onTabSelected(TabLayout.Tab tab) {                        switch (tab.getPosition())               {                   case 0:                       pager.setCurrentItem(0,true);                       break;                   case 1:                       pager.setCurrentItem(1,true);                       break;                   case 2:                       pager.setCurrentItem(2,true);                       break;               }                    }                    @Override                    public void onTabUnselected(TabLayout.Tab tab) {                    }                    @Override                    public void onTabReselected(TabLayout.Tab tab) {                     switch (tab.getPosition())               {                   case 0:                       pager.setCurrentItem(0,true);                       break;                   case 1:                       pager.setCurrentItem(1,true);                       break;                   case 2:                       pager.setCurrentItem(2,true);                       break;               }                    }                }        );

Set the an adapter to your ViewPager:

pager.setAdapter(new MyPagerAdapter(getSupportFragmentManager()));

Create a private inner class MyPagerAdapter that extends FragmentPagerAdapter:

private class MyPagerAdapter extends FragmentPagerAdapter    {    private Tab1 tab1;private Tab2 tab2;private Tab3 tab3;    //Tab1,Tab2,Tab3 representing your respective fragments        public MyPagerAdapter(FragmentManager fm) {            super(fm);            //initialize all your fragments at once inside the constructor            tab1=new Tab1();            tab2=new Tab2();            tab3=new Tab3();        }        @Override        public int getCount() {            return 3;        }        @Override        public android.support.v4.app.Fragment getItem(int position) {//Return each fragment according to a position            switch (position)            {                case 0:                    return tab1;                case 1:                    return tab2;                case 2:                    return tab3;            }            return null;        }    }

That's how I handled my case. Good coding.