title: ViewPager within a Fragment not working
body: <p>So I have an application with 3 actionbar.Tabs that switch between 3 fragments. Within two of these fragments I need to have a ViewPager that switches between about 6 ListViews. The problem is that Fragment display page that I'm trying to get this to work on, just shows black...always...I've confirmed that I can display other stuff (I tried making my SherlockFragment a SherlockListFragment and I could display data in that). So the problem is solely confined to my adapter and my ViewPager, and the code that puts them in place. Oh I should also mention that I'm using ActionBarSherlock, and (trying to) ViewPagerIndicator. Which I have imported correctly (finally).</p>
  
  <p>So here's the code for my Fragment:</p>
  
  <pre><code>import vt.finder.schedule.Schedule;
  import android.os.Bundle;
  import android.support.v4.view.ViewPager;
  import android.view.LayoutInflater;
  import android.view.View;
  import android.view.ViewGroup;
  import android.widget.LinearLayout;
  import com.actionbarsherlock.app.SherlockFragment;
  import com.viewpagerindicator.TitlePageIndicator;
  
  
  public class FreeTimeFragment extends SherlockFragment {
  
  //~Data Fields--------------------------------------------
  /**
   * Adapter used for swiping between days.
   */
  private ViewPager dayPage;
  /**
   * The DayAdapter that is used to switch between course Lists for each day for the listView.
   */
  private DayAdapter dayAdapt;
  
  
  //~Constructors--------------------------------------------
  @Override
  public void onCreate(Bundle savedInstanceState) {
  
      super.onCreate(savedInstanceState);
      View view = onCreateView(getLayoutInflater(savedInstanceState), null, savedInstanceState);
  
      LinearLayout layout = (LinearLayout) view.findViewById(R.id.linear_layout);
      dayPage = (ViewPager) layout.findViewById(R.id.free_time_day_pager);
  
      Schedule freeTime = getArguments().getParcelable("freeTime");
  
      dayAdapt = new DayAdapter(freeTime);
      //Bind the title indicator to the adapter
      TitlePageIndicator titleIndicator = (TitlePageIndicator) layout.findViewById(R.id.titles);
      dayPage.setAdapter(dayAdapt);
      titleIndicator.setViewPager(dayPage);
  }
  
  @Override
  public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)     {
  
      View view = inflater.inflate(R.layout.free_time_fragment_layout, container, false);
      return view;
  }
  }
  </code></pre>
  
  <p>Here's the code for my adapter:</p>
  
  <pre><code>import vt.finder.schedule.Course;
  import vt.finder.schedule.Schedule;
  import android.content.Context;
  import android.support.v4.view.PagerAdapter;
  import android.support.v4.view.ViewPager;
  import android.view.LayoutInflater;
  import android.view.View;
  import android.view.ViewGroup;
  import android.widget.ArrayAdapter;
  import android.widget.ListView;
  
  
  /**
   * PageAdapter class, provides functionality for switching between days of
   * the week.
   * 
   *
   */
  public final class DayAdapter extends PagerAdapter {
  
      //~Data Fields----------------------------------------//
      /**
       * The list adapter that the current list is being handed to.
       */
      private Schedule schedule;
  
      //~Constructors---------------------------------------//
      public DayAdapter(Schedule theSchedule) {
  
          schedule = theSchedule;
      }
  
      //~Methods--------------------------------------------//
      @Override
      public Object instantiateItem(ViewGroup container, int index) {
  
          ListView view = new ListView(container.getContext());
  
          view.setAdapter(new ArrayAdapter&lt;Course&gt;(container.getContext(), 
                          R.layout.list_view_child, schedule.getDay(curIndex).getList()));
  
          ((ViewPager) container).addView(view, 0);
  
          return container;
      }
  
      @Override
      public void destroyItem(ViewGroup container, int position, Object object) {
  
          ViewPager pager = (ViewPager) container;
          View view = (View) object;
          pager.removeView(view);
      }
  
      /**
       * Gets the pageTitle, which is the name of the day that is at position.
       * 
       * @param position the index of the day selected.
       * @return the name of the day the index refers to.
       */
      @Override
      public CharSequence getPageTitle(int position) {
  
          return schedule.getDay(position).getThisDay();
      }
  
      @Override
      public int getCount() {
  
          return 6;
      }
  
      @Override
      public boolean isViewFromObject(View view, Object object) {
  
          return view == (View) object;
      }
  }
  </code></pre>
  
  <p>and here's my xml file for the fragment layout:</p>
  
  <pre><code>&lt;?xml version="1.0" encoding="utf-8"?&gt;
  &lt;LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
      android:orientation="vertical" 
      android:layout_width="fill_parent"
      android:layout_height="fill_parent" 
      android:weightSum="1"
      android:id="@+id/linear_layout"&gt;
  
      &lt;com.viewpagerindicator.TitlePageIndicator
          android:id="@+id/titles"
          android:layout_width="fill_parent"
          android:layout_height="wrap_content"
          android:layout_weight="1.09" /&gt;
  
      &lt;android.support.v4.view.ViewPager
          android:id="@+id/free_time_day_pager"
          android:layout_width="fill_parent"
          android:layout_height="284dp" /&gt;
  
      &lt;RelativeLayout
          android:id="@+id/relativeLayout1"
          android:layout_width="match_parent"
          android:layout_height="52dp"
          android:layout_weight="0.07" &gt;
  
          &lt;Button
              android:id="@+id/getScheduleButton"
              android:layout_width="wrap_content"
              android:layout_height="wrap_content"
              android:layout_alignParentLeft="true"
              android:layout_centerVertical="true"
              android:onClick="getScheduleClicked"
              android:text="@string/get_schedule" /&gt;
  
          &lt;Button
              android:id="@+id/compareWithFriends"
              android:layout_width="wrap_content"
              android:layout_height="wrap_content"
              android:layout_alignBottom="@+id/getScheduleButton"
              android:layout_alignParentRight="true"
              android:layout_toRightOf="@+id/getScheduleButton"
              android:onClick="compareWithFriendsClicked"
              android:text="@string/compare_with_a_friend" /&gt;
  
      &lt;/RelativeLayout&gt;
  
  &lt;/LinearLayout&gt;
  </code></pre>
  
  <p>And I suppose I should mention briefly that Schedule, holds Day objects, which hold Lists of Courses, which are to be displayed. All of that code most definitely works, I've been using it for months.</p>