i am developing an android app which has four fragments with tablayout and each fragment has connection error dialog box.
- first problem is,when i start my app,four fragments work simultaneously at the same time.So,when i occur connection error four dialog boxes are shown in first fragment When i switch to second tab it doesn't show his dialog box because his dialog is shown in first fragment.
- second problem is,i create that fragments with swipe refresh layout to fetch data from server.I call onRefresh method in onCreate method. when i start my app,first fragment data is loaded from server but when i switch first tab to second tab,it is not loaded his data from server but when i switch first tab to third tab,it is work. Also,when i switch second tab to third tab,it is not loaded data from server but when i switch second tab to fourth tab,it is work. It is only work when i switch tabs with one tab differ. Is there anyway to solve that problems.
I searched this problems from internet but i didn't get my problems answer. Please anyone help me.Thanks in advance..... Sorry for my poor english
this is tablyout code
        viewPager = (ViewPager) findViewById(R.id.viewpagerMain);
        tabLayout = (TabLayout) findViewById(R.id.tablayoutMain);
        tabLayout.addTab(tabLayout.newTab().setText("Noticeboard"));
        tabLayout.addTab(tabLayout.newTab().setText("News"));
        tabLayout.addTab(tabLayout.newTab().setText("Events"));
        tabLayout.addTab(tabLayout.newTab().setText("Result"));
        tabLayout.setTabGravity(TabLayout.GRAVITY_FILL);
        viewPager.setAdapter(new MyAdapter(getSupportFragmentManager(), tabLayout.getTabCount()));
        viewPager.addOnPageChangeListener(new TabLayout.TabLayoutOnPageChangeListener(tabLayout));
        viewPager.setOffscreenPageLimit(0);
        tabLayout.setOnTabSelectedListener(new TabLayout.OnTabSelectedListener() {
            @Override
            public void onTabSelected(TabLayout.Tab tab) {
                viewPager.setCurrentItem(tab.getPosition());
            }
            @Override
            public void onTabUnselected(TabLayout.Tab tab) {
            }
            @Override
            public void onTabReselected(TabLayout.Tab tab) {
            }
        });
This is MyAdapter class
class MyAdapter extends FragmentStatePagerAdapter {
        int num_of_tab;
        public MyAdapter(FragmentManager fm, int num_of_tab) {
            super(fm);
            this.num_of_tab = num_of_tab;
        }
        @Override
        public Fragment getItem(int position) {
            switch (position) {
                case 0:
                    NoticeBoardFragment noticeBoardFragment = new NoticeBoardFragment();
                    return noticeBoardFragment;
                case 1:
                    NewsFragment newsFragment = new NewsFragment();
                    return newsFragment;
                case 2:
                    EventsFragment eventsFragment = new EventsFragment();
                    return eventsFragment;
                case 3:
                    ResultFragment resultFragment = new ResultFragment();
                    return resultFragment;
                default:
                    return null;
            }
        }
        @Override
        public int getCount() {
            return num_of_tab;
        }
    }
 
    