setUserVisibleHint also not working me I used another way to update data in fragment when view pager change fragment, Below is The way,
 viewpager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
                @Override
                public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
                }
                @Override
                public void onPageSelected(int position) {
                    try {
                        if(viewPagerAdapter.getItem(position) instanceof Fragment1a){
                            Fragment1a frag1 = (Fragment1a) viewPagerAdapter.getItem(position);
                            frag1.updateData(data); // here is the public method of fragment which declared for udpate data in fragment
                        }else if(viewPagerAdapter.getItem(position) instanceof Fragment1b){
                            Fragment1b frag2 = (Fragment1b) viewPagerAdapter.getItem(position);
                            frag2.updateData(data); // here is the public method of fragment which declared for udpate data in fragment
                        }
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                }
                @Override
                public void onPageScrollStateChanged(int state) {
                }
            });
viewpager.setCurrentItem(0);
This way you can update data directly Just you need to create one public method in your fragment.
Here is the Adapter 
class ViewPagerAdapter extends FragmentPagerAdapter {
        private final List<Fragment> mFragmentList = new ArrayList<>();
        private final List<TabModel> mFragmentTitleList = new ArrayList<>();
        public ViewPagerAdapter(FragmentManager manager) {
            super(manager);
        }
        @Override
        public Fragment getItem(int position) {
            return mFragmentList.get(position);
        }
        @Override
        public int getCount() {
            return mFragmentList.size();
        }
        public void addFragment(Fragment fragment, TabModel title) {
            mFragmentList.add(fragment);
            mFragmentTitleList.add(title);
        }
        @Override
        public CharSequence getPageTitle(int position) {
            return mFragmentTitleList.get(position).getTabName();
        }
    }