title: FragmentPagerAdapter notifyDataSetChanged not working
body: <p>I got a FragmentPagerAdapter. It's <code>getItem</code> method can return a fragment according to data it has from the outside. After I update the data its suppose to display I call <code>notifyDataSetChanged</code> and yet nothing happened. I DID override the <code>getItemPosition</code> method to return <code>POSITION_NONE</code>:</p>
  
  <pre><code>public static class TabsAdapter extends FragmentPagerAdapter implements TabHost.OnTabChangeListener,
          ViewPager.OnPageChangeListener
  {
      private final Context mContext;
      private final TabHost mTabHost;
      private final ViewPager mViewPager;
      private final ArrayList&lt;TabInfo&gt; mTabs = new ArrayList&lt;TabInfo&gt;();
      private PagerTabsFragments fragmentDisplayInfo = null; // for now only a
                                                              // single size
                                                              // back
                                                              // stack
  
      static class PagerTabsFragments
      {
          public int tabPosition;
          public Fragment fragmentToDisplay;
          public Object fragmentInfo;
  
          public PagerTabsFragments(int tab, Fragment frag, Object info)
          {
              tabPosition = tab;
              fragmentToDisplay = frag;
              fragmentInfo = info;
          }
      }
  
      public void SetFragmentToDisplay(int tabPosition, Fragment frag, Object info)
      {
          fragmentDisplayInfo = new PagerTabsFragments(tabPosition, frag, info);
          notifyDataSetChanged();
      }
  
      public void CancelFragmentToDisplay()
      {
          fragmentDisplayInfo = null;
      }
  ...
  @Override
      public Fragment getItem(final int position)
      {
          if ((fragmentDisplayInfo != null) &amp;&amp; (fragmentDisplayInfo.tabPosition == position))
          {
              return fragmentDisplayInfo.fragmentToDisplay;
          }
          final TabInfo info = mTabs.get(position);
          return Fragment.instantiate(mContext, info.clss.getName(), info.args);
      }
  
      @Override
      public int getItemPosition(Object item)
      {
          if (fragmentDisplayInfo == null)
          {
              return super.getItemPosition(item);
          }
          return POSITION_NONE;
      }
  ...
  </code></pre>
  
  <p>And the update from outside is in a click event which sets the <code>fragmentDisplayInfo</code> var. 
  I debuged and saw that the <code>fragmentDisplayInfo</code> is indeed initialized and the <code>getItemPosition</code> method does return <code>POSITION_NONE</code>, but the getItem method is not even called. Why is that?</p>
  
  <p>EDIT:</p>
  
  <p>If you hadn't done so as well, please notice that overiden part of the adapter:</p>
  
  <pre><code> @Override
  public int getItemPosition(Object item)
  {
      return POSITION_NONE;
  }
  </code></pre>