I have 4 fragments in a ViewPager
. 3 of the have static data, the other one is loading data from a remote server. When I run the program, all the fragments with static RecyclerView
data load perfectly fine. But the one with dynamic data won't show until I navigate away from the page and then reselect the tab (or navigate back).
I have tried solutions explained here Update ViewPager dynamically? but I can't get it to work
private void initialize() {
//Create fragments and setup viewpager
frag_categories = new Fragment_Categories();
frag_deals = new Fragment_Deals();
frag_favourites = new Fragment_Favorites();
frag_sangwapo = new Fragment_Sangwapo();
setupViewPager(viewPager);
//prepare tabLayout
tabLayout = findViewById(R.id.tabs);
tabLayout.setupWithViewPager(viewPager);
setupTabIcons();
tabLayout.getTabAt(1).select();
tabLayout.addOnTabSelectedListener(this);
}
private void setupViewPager(ViewPager viewPager) {
adapter = new AdapterViewPager(getSupportFragmentManager());
adapter.addFragment(frag_favourites, "Stores");
adapter.addFragment(frag_categories, "Categories");
adapter.addFragment(frag_deals, "Deals");
adapter.addFragment(frag_sangwapo, "Sangwapo");
viewPager.setAdapter(adapter);
viewPager.setOffscreenPageLimit(0);
}
//Inside the fragment not refreshing
adapterSangwapo = new AdapterSangwapo(getActivity(),list);
LinearLayoutManager linearLayoutManager = new LinearLayoutManager(getActivity(),LinearLayoutManager.VERTICAL,false);
recyclerView.setLayoutManager(linearLayoutManager);
recyclerView.setAdapter(adapterSangwapo);
updateListItems();
where updateListItems is populating an ArrayList (list) and calling notifyDataSetChanged
on adaptersangwapo
Even when i try viewPager.setOffscreenPageLimit(3);
, it still wont refresh until i navigate away. I have also tried both FragmentPagerAdapter
and FragmentStatePagerAdapte
There are no errors being displayed.