sahaab / HijriCalendar-master

A Hijri (Islamic) Calendar Library
Other
25 stars 21 forks source link

notifyDataSetChanged on viewpager does not refresh caldroidfragment #9

Open shabbydg opened 6 years ago

shabbydg commented 6 years ago

I am loading the Calendar via a fragment managed by a ViewPager and SectionsPagerAdapter.

The setup is: mSectionsPagerAdapter = new SectionsPagerAdapter(getSupportFragmentManager()); mViewPager = (ViewPager) findViewById(R.id.container); mViewPager.setAdapter(mSectionsPagerAdapter);

The seperate fragments are loaded via: public class SectionsPagerAdapter extends FragmentStatePagerAdapter{

    public SectionsPagerAdapter(FragmentManager fm) {
        super(fm);
    }

    @Override
    public Fragment getItem(int position) {
        // getItem is called to instantiate the fragment for the given page.
        // Return a PlaceholderFragment (defined as a static inner class below).
        if(position == 0){
           //return Fragment 1
        } if (position == 1){
            **Calendar cal = Calendar.getInstance();
            calendarFragment = CaldroidFragment.newInstance("Testing",cal.get(Calendar.MONTH) + 1,cal.get(Calendar.YEAR));
            return calendarFragment;**
        } if (position == 2){
            //return Fragment 2
        }
        //else return PlaceholderFragment.newInstance("Something went wrong");
    }

    @Override
    public int getCount() {
        // Show 3 total pages.
        return 3;
    }

    @Override
    public CharSequence getPageTitle(int position) {
        switch (position) {
            case 0:
                return "Elans";
            case 1:
                return "Calendar";
            case 2:
                return "Files";
        }
        return null;
    }

    @Override
    public int getItemPosition(Object object) {
        return POSITION_NONE;
    }
}

Whenever there is a change in the data I would like to update the adapter like so: mViewPager.getAdapter().notifyDataSetChanged();

Fragment 1 and 3 refresh fine but the Caldroid Fragment does not reload properly. The month grid section remains blank.

How can I rectify this.