title: Android ViewPager doesn't show its Fragments correctly
body: <p>I'm having an issue with the support library ViewPager. That ViewPager lives inside a fragment and it's composed of 3 tabs: one that will show some information, the second and third show a list of elements (so they both are beeing generated from the same fragment). When I scroll from the first to the second one everything works fine but if I try to scroll from the second one to the third something happens to the fragments and they don't show up again even the PagerTabStrip disappears when this happens. Also I tryed using the same type of fragment for the 3 tabs (the one that disappeared with the list)and everything seems to work fine, so I'm quite bugged about this. Also, the only log on the console related to the issue is this one:</p>
  
  <blockquote>
    <p>W/FragmentManager: moveToState: Fragment state for StoreListFragment{3fb980e7 #2 id=0x7f0d0080 android:switcher:2131558528:2} not updated inline; expected state 3 found 2</p>
  </blockquote>
  
  <p>This is the code for my parent Fragment:</p>
  
  <pre><code>public class StoreFragment extends Fragment {
  
  @Bind(R.id.pager) ViewPager mPager;
  
  @Nullable
  @Override
  public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
      View v = inflater.inflate(R.layout.fragment_store, container, false);
      ButterKnife.bind(this, v);
      setupViewPager();
      return v;
  }
  
  private void setupViewPager() {
      String[] titles = {getString(R.string.store_information),
              getString(R.string.store_offers),
              getString(R.string.store_products)
      };
      mPager.setAdapter(new StoresPagerAdapter(getChildFragmentManager(), titles));
  }
  }
  </code></pre>
  
  <p>This is the code for the PagerAdapter:</p>
  
  <pre><code>public class StoresPagerAdapter extends FragmentPagerAdapter {
  
  private String[] mPageTitles;
  
  public StoresPagerAdapter(FragmentManager fm, String[] titles) {
      super(fm);
      mPageTitles = titles;
  }
  
  @Override
  public Fragment getItem(int position) {
      switch (position){
          case 0:
              return StoreInfoFragment.newInstance();
              //return StoreListFragment.newInstance(position);
          case 1:
              return StoreListFragment.newInstance(position);
          case 2:
              return StoreListFragment.newInstance(position);
          default:
              return null;
      }
  }
  
  @Override
  public int getCount() {
      return mPageTitles != null ? mPageTitles.length : 0;
  }
  
  @Override
  public CharSequence getPageTitle(int position) {
      return mPageTitles[position];
  }
  }
  </code></pre>
  
  <p>And the one for the Fragment:</p>
  
  <pre><code>public class StoreListFragment extends Fragment implements MyListListener {
  
  @Bind(R.id.store_list) RecyclerView mStoreContentView;
  
  private ArrayList&lt;StoreModel&gt; mStoreContents = new ArrayList&lt;&gt;();
  
  public static StoreListFragment newInstance(int page) {
      return new StoreListFragment();
  }
  
  
  @Override
  public void onCreate(@Nullable Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      mStoreContents.add(new Schedule());
  }
  
  @Nullable
  @Override
  public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
      View v = inflater.inflate(R.layout.fragment_store_list, container, false);
      ButterKnife.bind(this, v);
      return v;
  }
  
  @Override
  public void onActivityCreated(@Nullable Bundle savedInstanceState) {
      super.onActivityCreated(savedInstanceState);
      setupList();
  }
  
  protected void setupList() {
      LinearLayoutManager layoutManager = new LinearLayoutManager(this.getActivity());
      mStoreContentView.setHasFixedSize(true);
      mStoreContentView.setLayoutManager(layoutManager);
      mStoreContentView.setAdapter(new ArrayAdapter(this, mStoreContents, R.layout.list_elem_locations));
  }
  
  @Override
  public void onClickElement(int elementId, String elementName) {
      Intent i = new Intent(this.getActivity(), DetailActivity.class);
      startActivity(i);
  }
  }
  </code></pre>