Tab + ViewPager не обновляется, вместо этого показывает странное предупреждение, ожидаемое состояние 3 найдено 2

У меня есть основная активность, которая включает в себя TabLayout с ViewPager

Я добавил 3 вкладки, и у каждой вкладки есть отдельные фрагменты, которые содержат обзор переработчика, и в этих обзорах утилит имеется флажок, который должен одновременно обновляться / обновляться всякий раз, когда я перелистываю просмотрщик страниц (я сохраняю отмеченные позиции в общих настройках и обновления через общие настройки).

Моя проблема здесь заключается в том, что всякий раз, когда я устанавливаю флажок в tab1, tab2 не обновляется / обновляется, пока я не прокручиваю вниз Recyclerview. и tab3 работает нормально. а такжея получаю странное предупреждение в logcat тоже.

 03-05 09:35:53.345 4317-4327/com.example.rubin W/art: Suspending all threads took: 6.805ms
    03-05 09:35:58.310 4317-4317/com.example.rubin W/FragmentManager: moveToState: Fragment state for Tab3{10a5f1f0 #2 id=0x7f0d00b6} not updated inline; expected state 3 found 2
    03-05 09:36:01.363 4317-4317/com.example.rubin W/FragmentManager: moveToState: Fragment state for Tab1{2d9aa887 #1 id=0x7f0d00b6} not updated inline; expected state 3 found 2 

Мой пейджер

public class PagerAdapter1 extends FragmentStatePagerAdapter {
    int mNumOfTabs;
    public PagerAdapter1(FragmentManager fm, int NumOfTabs) {
        super(fm);
        this.mNumOfTabs = NumOfTabs;
    }
    @Override
    public Fragment getItem(int position) {
        switch (position) {
            case 0:
               return new Tab1();
            case 1:
               return new Tab2();
            case 2:
               return new Tab3();

            default:
                return null;

        }
    }

    @Override
    public int getCount() {
        return mNumOfTabs;
    }
}

Tablayout OnPageChangelistener

final PagerAdapter1 adapter = new PagerAdapter1
                (getSupportFragmentManager(), tabLayout1.getTabCount(), getApplicationContext());
        viewPager1.setAdapter(adapter);
        viewPager1.addOnPageChangeListener(new TabLayout.TabLayoutOnPageChangeListener(tabLayout1));
        tabLayout1.setOnTabSelectedListener(new TabLayout.OnTabSelectedListener() {
            @Override
            public void onTabSelected(TabLayout.Tab tab) {
                viewPager1.setCurrentItem(tab.getPosition());
                adapter.notifyDataSetChanged();
            }

            @Override
            public void onTabUnselected(TabLayout.Tab tab) {

            }

            @Override
            public void onTabReselected(TabLayout.Tab tab) {
            }
        });
    }

код для каждого фрагмента.

 public class Tab1 extends Fragment {

        @Override
        public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
            View v = inflater.inflate(R.layout.home_tab1_recycler, container, false);
            RecyclerView rv = (RecyclerView) v.findViewById(R.id.home_recyclerview);   
            LinearLayoutManager llm = new LinearLayoutManager(getContext());
            rv.setLayoutManager(llm);
            rv.setHasFixedSize(true); // to improve performance
            rv.setAdapter(new HomeManager()); // the projectdatabase manager is assigner to the RV
            return v;
        }

        public class HomeManager extends RecyclerView.Adapter<HomeManager.RecyclerViewHolder> {
    int Length,h;
 View v1;
        ArrayList<String> PROJECT_ID = new ArrayList<String>();
Set<String> set;
        List<String> selected;
     public class RecyclerViewHolder extends RecyclerView.ViewHolder {
     CheckBox mCheck;
      RecyclerViewHolder(final View itemView) {
                    super(itemView);
      mCheck = (CheckBox) itemView.findViewById(R.id.PROJECT_fav);
     SharedPreferences pref = getContext().getSharedPreferences("MirSP", Context.MODE_PRIVATE);
                    set = pref.getStringSet("FAV", null);
      if (set != null) {
                        selected = new ArrayList<String>(set);
                    } else {
                        selected = new ArrayList<String>();
                    }
    mCheck.setOnClickListener(new View.OnClickListener() {
                        @Override
                        public void onClick(View v) {
     h = getAdapterPosition();
    check = PROJECT_ID.get(h); // for saving the project id from json.
     if (selected.contains(check)) {
                                    selected.remove(check);
                                    mCheck.setBackgroundResource(R.drawable.ic_favorite_white1_24dp);
                                    Snackbar snackbar = Snackbar.make(v, "Property Unfavorited", Snackbar.LENGTH_SHORT);
                                    snackbar.show();
                                } else {
                                    selected.add(check);
                                    mCheck.setBackgroundResource(R.drawable.ic_favorite_white_24dp);
                                    Snackbar snackbar = Snackbar.make(v, "Property Favorited", Snackbar.LENGTH_SHORT);
                                    snackbar.show();

                                }
                                Log.e("HF update checked", String.valueOf(selected));
                                Set<String> set = new HashSet<String>();
                                set.addAll(selected);
                                SharedPreferences pref = getContext().getSharedPreferences("MirSP", Context.MODE_PRIVATE);
                                SharedPreferences.Editor editor = pref.edit();
                                editor.putStringSet("FAV", set);
                                editor.commit();
                            }
         }
                    });
     @Override
            public RecyclerViewHolder onCreateViewHolder(ViewGroup viewGroup, int i) {
                v1 = LayoutInflater.from(viewGroup.getContext()).inflate(R.layout.recyclerview_item, viewGroup, false);
                return new RecyclerViewHolder(v1);
            }

            @Override
            public void onBindViewHolder(final RecyclerViewHolder viewHolder, int i) {
    SharedPreferences pref = getContext().getSharedPreferences("MirSP", Context.MODE_PRIVATE);
                set = pref.getStringSet("FAV", null);
                if (set != null) {
                    selected = new ArrayList<String>(set);
                } else {
                    selected = new ArrayList<String>();
                }
                Log.e("HF update UI", String.valueOf(selected));
    if (String.valueOf(selected).contains(String.valueOf(PROJECT_ID.get(i)))) {
                        viewHolder.mCheck.setBackgroundResource(R.drawable.ic_favorite_white_24dp);
                    } else {
                        viewHolder.mCheck.setBackgroundResource(R.drawable.ic_favorite_white1_24dp);
                    }
                }
     @Override
            public int getItemCount() {
                //Code for Total length of json
                return Length;
            }

Ответы на вопрос(6)

Ваш ответ на вопрос