title: FragmentManager is already executing transactions after using method setOffscreenPageLimit()
body: <p>i have a navigation drawer with a number of fragments and one of them is a tablayout with two recyclerview fragments , the RecyclerView items disappear after switching between navigation drawer fragments , i found a solution that i need to use method setOffscreenPageLimit() with the ViewPager but it gives me the bug that is mentioned in the question title</p>
  
  <p>here is my logcat</p>
  
  <pre><code>java.lang.IllegalStateException: FragmentManager is already executing transactions
                                                                                 at android.support.v4.app.FragmentManagerImpl.execSingleAction(FragmentManager.java:1626)
                                                                                 at android.support.v4.app.BackStackRecord.commitNowAllowingStateLoss(BackStackRecord.java:679)
                                                                                 at android.support.v4.app.FragmentPagerAdapter.finishUpdate(FragmentPagerAdapter.java:143)
                                                                                 at android.support.v4.view.ViewPager.populate(ViewPager.java:1240)
                                                                                 at android.support.v4.view.ViewPager.populate(ViewPager.java:1088)
                                                                                 at android.support.v4.view.ViewPager.setOffscreenPageLimit(ViewPager.java:852)
                                                                                 at com.amir.ahmed.EELUStudentUnion.SelectionFragment.setupViewPager(SelectionFragment.java:59)
                                                                                 at com.amir.ahmed.EELUStudentUnion.SelectionFragment.onActivityCreated(SelectionFragment.java:40)
                                                                                 at android.support.v4.app.Fragment.performActivityCreated(Fragment.java:2089)
                                                                                 at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1133)
                                                                                 at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1290)
                                                                                 at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:801)
                                                                                 at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1677)
                                                                                 at android.support.v4.app.FragmentManagerImpl$1.run(FragmentManager.java:536)
                                                                                 at android.os.Handler.handleCallback(Handler.java:739)
                                                                                 at android.os.Handler.dispatchMessage(Handler.java:95)
                                                                                 at android.os.Looper.loop(Looper.java:158)
                                                                                 at android.app.ActivityThread.main(ActivityThread.java:7225)
                                                                                 at java.lang.reflect.Method.invoke(Native Method)
                                                                                 at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230)
                                                                                 at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120)
  </code></pre>
  
  <p>an that is the tab layout fragment code</p>
  
  <pre><code>@Override
  public void onActivityCreated(@Nullable Bundle savedInstanceState) {
      super.onActivityCreated(savedInstanceState);
  
      viewPager = (ViewPager) getActivity().findViewById(R.id.viewpager);
      setupViewPager(viewPager);
  
      viewPager.setOffscreenPageLimit(2);
  
      tabLayout = (TabLayout) getActivity().findViewById(R.id.tabs);
      tabLayout.setupWithViewPager(viewPager);
      setupTabIcons();
  }
  
  
  
  private void setupViewPager(ViewPager viewPager) {
      ViewPagerAdapter adapter = new ViewPagerAdapter(getFragmentManager());
      adapter.addFrag(new Courses(), "IT");
      adapter.addFrag(new CoursesBussiness(), "Business");
      viewPager.setAdapter(adapter);
  }
  </code></pre>