title: Android ViewPager not displaying all of my layout elements
body: <p>I am using a ViewPager that is inflating a layout. The ViewPager works, I can swipe back and forth, but the layouts I am inflating are only partially loaded. In my example, only my RelativeLayout appears and nothing else. I can confirm that my layout works, because when I don't use a ViewPager everything shows up fine.</p>
  
  <p>Here is the layout I am inflating:</p>
  
  <pre><code>&lt;?xml version="1.0" encoding="utf-8"?&gt;
  &lt;LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
      android:layout_width="fill_parent"
      android:layout_height="wrap_content"
      android:orientation="vertical" android:background="#FFFFFF"&gt;
      &lt;RelativeLayout
          android:id="@+id/header"
          android:layout_width="fill_parent"
          android:layout_height="match_parent"
          android:layout_weight="0"
          android:background="#000000" &gt;
  
          &lt;ImageView
              android:id="@+id/batteryImageView"
              android:layout_width="wrap_content"
              android:layout_height="wrap_content"
              android:layout_alignParentLeft="true"
              android:layout_centerVertical="true"
              android:layout_marginLeft="5dp"
              android:src="@drawable/battery" /&gt;
  
          &lt;ImageView
              android:id="@+id/exit_button"
              android:layout_width="wrap_content"
              android:layout_height="wrap_content"
              android:layout_alignParentRight="true"
              android:layout_centerVertical="true"
              android:src="@drawable/exit_button" /&gt;
  
          &lt;TextView
              android:id="@+id/textView1"
              android:layout_width="wrap_content"
              android:layout_height="wrap_content"
              android:layout_centerVertical="true"
              android:layout_marginLeft="5dp"
              android:layout_toRightOf="@+id/batteryImageView"
              android:text="76%" /&gt;
      &lt;/RelativeLayout&gt;
  
  
  
      &lt;FrameLayout
          xmlns:android="http://schemas.android.com/apk/res/android"
          android:id="@+id/score"
          android:layout_width="fill_parent"
          android:layout_height="wrap_content"
          android:layout_weight="1"
          android:orientation="vertical"
          android:padding="3dp" &gt;
  
          &lt;View
              android:id="@+id/dynamic_background_view"
              android:layout_width="match_parent"
              android:layout_height="match_parent" /&gt;
  
          &lt;LinearLayout
              android:layout_width="fill_parent"
              android:layout_height="wrap_content"
              android:orientation="vertical" &gt;
  
              &lt;LinearLayout
                  android:id="@+id/topHorizontalLinearLayout"
                  android:layout_width="fill_parent"
                  android:layout_height="wrap_content" &gt;
  
                  &lt;LinearLayout
                      android:id="@+id/prominentDisplayLinearLayout"
                      android:layout_width="fill_parent"
                      android:layout_height="wrap_content"
                      android:layout_weight="1"
                      android:orientation="vertical" &gt;
  
                      &lt;TextView
                          android:id="@+id/scoreLabelTextView"
                          android:layout_width="match_parent"
                          android:layout_height="wrap_content"
                          android:gravity="center"
                          android:text="Blast Factor"
                          android:textSize="30dp" /&gt;
  
                      &lt;TextView
                          android:id="@+id/scoreTextView"
                          android:layout_width="match_parent"
                          android:layout_height="wrap_content"
                          android:layout_marginTop="-35dp"
                          android:gravity="top|center_horizontal"
                          android:text="100"
                          android:textSize="125dp" /&gt;
                  &lt;/LinearLayout&gt;
  
                  &lt;LinearLayout
                      android:id="@+id/prominentVerticalLinearLayout"
                      android:layout_width="fill_parent"
                      android:layout_height="wrap_content"
                      android:layout_marginLeft="10dp"
                      android:layout_marginRight="5dp"
                      android:layout_marginTop="10dp"
                      android:layout_weight="2"
                      android:orientation="vertical" &gt;
  
                      &lt;LinearLayout
                          android:id="@+id/averageLinearLayout"
                          android:layout_width="fill_parent"
                          android:layout_height="wrap_content"
                          android:orientation="vertical" &gt;
  
                          &lt;TextView
                              android:id="@+id/averageLabel"
                              android:layout_width="fill_parent"
                              android:layout_height="wrap_content"
                              android:layout_gravity="center"
                              android:background="#55000000"
                              android:gravity="center"
                              android:text="Average"
                              android:textSize="13dp" /&gt;
  
                          &lt;TextView
                              android:id="@+id/averageScore"
                              android:layout_width="fill_parent"
                              android:layout_height="wrap_content"
                              android:layout_gravity="center"
                              android:gravity="center"
                              android:text="100"
                              android:textSize="50dp" /&gt;
                      &lt;/LinearLayout&gt;
  
                      &lt;LinearLayout
                          android:id="@+id/lastLinearLayout"
                          android:layout_width="fill_parent"
                          android:layout_height="match_parent"
                          android:orientation="vertical" &gt;
  
                          &lt;TextView
                              android:id="@+id/lastLabel"
                              android:layout_width="fill_parent"
                              android:layout_height="wrap_content"
                              android:background="#55000000"
                              android:gravity="center"
                              android:text="Last"
                              android:textSize="13dp" /&gt;
  
                          &lt;TextView
                              android:id="@+id/lastScore"
                              android:layout_width="fill_parent"
                              android:layout_height="wrap_content"
                              android:layout_gravity="center"
                              android:gravity="center"
                              android:text="100"
                              android:textSize="50dp" /&gt;
                      &lt;/LinearLayout&gt;
                  &lt;/LinearLayout&gt;
              &lt;/LinearLayout&gt;
  
              &lt;LinearLayout
                  android:id="@+id/demotedDisplayLinearLayout"
                  android:layout_width="match_parent"
                  android:layout_height="wrap_content"
                  android:orientation="horizontal" &gt;
  
                  &lt;FrameLayout
                      android:id="@+id/leftPanelFrame"
                      android:layout_width="wrap_content"
                      android:layout_height="wrap_content"
                      android:layout_marginLeft="2dp"
                      android:layout_marginRight="2dp" &gt;
  
                      &lt;LinearLayout
                          style="@style/MotionMetrics.ScorePanel"
                          android:layout_width="match_parent"
                          android:layout_height="match_parent"
                          android:background="#55000000" &gt;
  
                          &lt;ImageView
                              android:id="@+id/leftPanelImageView"
                              android:layout_width="wrap_content"
                              android:layout_height="wrap_content"
                              android:src="@drawable/swingspeed" /&gt;
  
                          &lt;TextView
                              android:id="@+id/leftPanelLabelTextView"
                              style="@style/MotionMetrics.ScoreHeader"
                              android:text="Swing Speed" /&gt;
  
                          &lt;TextView
                              android:id="@+id/leftPanelTextView"
                              style="@style/MotionMetrics.ScoreValue"
                              android:layout_width="match_parent"
                              android:text="92" /&gt;
                      &lt;/LinearLayout&gt;
  
                      &lt;ImageView
                          android:id="@+id/leftPanelSelectionArrow"
                          android:layout_width="wrap_content"
                          android:layout_height="wrap_content"
                          android:padding="5dp"
                          android:src="@drawable/select_arrow" /&gt;
                  &lt;/FrameLayout&gt;
  
                  &lt;FrameLayout
                      android:id="@+id/middlePanelFrame"
                      android:layout_width="match_parent"
                      android:layout_height="match_parent"
                      android:layout_marginRight="2dp"
                      android:layout_weight="1"
                      android:background="#55000000" &gt;
  
                      &lt;LinearLayout
                          style="@style/MotionMetrics.ScorePanel"
                          android:layout_width="match_parent"
                          android:layout_height="wrap_content" &gt;
  
                          &lt;ImageView
                              android:id="@+id/middlePanelImageView"
                              android:layout_width="wrap_content"
                              android:layout_height="wrap_content"
                              android:src="@drawable/ballspeed" /&gt;
  
                          &lt;TextView
                              android:id="@+id/middlePanelLabelTextView"
                              style="@style/MotionMetrics.ScoreHeader"
                              android:text="Ball Speed" /&gt;
  
                          &lt;LinearLayout
                              android:layout_width="match_parent"
                              android:layout_height="wrap_content"
                              android:gravity="top|center_horizontal"
                              android:orientation="horizontal" &gt;
  
                              &lt;TextView
                                  android:id="@+id/middlePanelTextView"
                                  style="@style/MotionMetrics.ScoreValue"
                                  android:text="1.3" /&gt;
                          &lt;/LinearLayout&gt;
                      &lt;/LinearLayout&gt;
  
                      &lt;View
                          android:layout_width="35dp"
                          android:layout_height="match_parent"
                          android:background="@drawable/score_border" /&gt;
  
                      &lt;ImageView
                          android:id="@+id/middlePanelSelectionArrow"
                          android:layout_width="wrap_content"
                          android:layout_height="wrap_content"
                          android:padding="5dp"
                          android:src="@drawable/select_arrow" /&gt;
                  &lt;/FrameLayout&gt;
  
                  &lt;FrameLayout
                      android:id="@+id/rightPanelFrame"
                      android:layout_width="match_parent"
                      android:layout_height="match_parent"
                      android:layout_marginRight="2dp"
                      android:layout_weight="1"
                      android:background="#55000000" &gt;
  
                      &lt;ImageView
                          android:id="@+id/rightPanelSelectionArrow"
                          android:layout_width="wrap_content"
                          android:layout_height="wrap_content"
                          android:padding="5dp"
                          android:src="@drawable/select_arrow" /&gt;
  
                      &lt;LinearLayout
                          style="@style/MotionMetrics.ScorePanel"
                          android:layout_width="match_parent"
                          android:layout_height="match_parent" &gt;
  
                          &lt;ImageView
                              android:id="@+id/rightPanelImageView"
                              android:layout_width="wrap_content"
                              android:layout_height="wrap_content"
                              android:src="@drawable/distance" /&gt;
  
                          &lt;TextView
                              android:id="@+id/rightPanelLabelTextView"
                              style="@style/MotionMetrics.ScoreHeader"
                              android:text="Distance" /&gt;
  
                          &lt;LinearLayout
                              android:layout_width="match_parent"
                              android:layout_height="wrap_content"
                              android:gravity="top|center_horizontal"
                              android:orientation="horizontal" &gt;
  
                              &lt;TextView
                                  android:id="@+id/rightPanelTextView"
                                  style="@style/MotionMetrics.ScoreValue"
                                  android:text="7.6" /&gt;
                          &lt;/LinearLayout&gt;
                      &lt;/LinearLayout&gt;
  
                      &lt;View
                          android:id="@+id/view1"
                          android:layout_width="35dp"
                          android:layout_height="match_parent"
                          android:background="@drawable/score_border" /&gt;
                  &lt;/FrameLayout&gt;
              &lt;/LinearLayout&gt;
          &lt;/LinearLayout&gt;
      &lt;/FrameLayout&gt;
  
      &lt;LinearLayout
          android:id="@+id/buttonBar"
          android:layout_width="fill_parent"
          android:layout_height="wrap_content"
          android:layout_weight="0" &gt;
  
          &lt;Button
              android:id="@+id/blastButton"
              android:layout_width="wrap_content"
              android:layout_height="35dp"
              android:text="Blast" android:layout_weight="1"/&gt;
  
          &lt;Button
              android:id="@+id/angleButton"
              android:layout_width="wrap_content"
              android:layout_height="35dp"
              android:text="Angle" android:layout_weight="1"/&gt;
  
          &lt;Button
              android:id="@+id/timingButton"
              android:layout_width="wrap_content"
              android:layout_height="35dp"
              android:text="Timing" android:layout_weight="1"/&gt;
      &lt;/LinearLayout&gt;
  
  &lt;ImageView
      android:id="@+id/tabBarImageView"
      android:layout_width="fill_parent"
      android:layout_height="wrap_content"
      android:src="@drawable/tabbar"/&gt;
  
  &lt;/LinearLayout&gt;
  </code></pre>
  
  <p>Here is the main layout that has the ViewPager and will inflate the above 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:layout_width="fill_parent"
      android:layout_height="fill_parent"
      android:orientation="vertical" &gt;
  
       &lt;android.support.v4.view.ViewPager
      android:layout_width="fill_parent" 
      android:layout_height="fill_parent" 
      android:id="@+id/scorePager"/&gt;
  
  &lt;/LinearLayout&gt;
  </code></pre>
  
  <p>Here is my ViewPagerAdapter code:</p>
  
  <pre><code>private class ScorePagerAdapter extends PagerAdapter{
  
  
              @Override
              public int getCount() {
                  return NUM_PAGES;
              }
  
              /**
               * Create the page for the given position.  The adapter is responsible
               * for adding the view to the container given here, although it only
               * must ensure this is done by the time it returns from
               * {@link #finishUpdate()}.
               *
               * @param container The containing View in which the page will be shown.
               * @param position The page position to be instantiated.
               * @return Returns an Object representing the new page.  This does not
               * need to be a View, but can be some other container of the page.
               */
              @Override
              public Object instantiateItem(View collection, int position) {
                  /*TextView tv = new TextView(cxt);
                  tv.setText("Bonjour PAUG " + position);
                  tv.setTextColor(Color.GREEN);
                  tv.setTextSize(30);
  
                  ((ViewPager) collection).addView(tv,0);
  
                  return tv;*/
  
                  LayoutInflater inflater = (LayoutInflater)cxt.getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
                  View view = inflater.inflate(R.layout.score, null);
                  updateDisplay(score, position, view);
  
                  ((ViewPager) collection).addView(view,0);
  
                  return view;
              }
  
              /**
               * Remove a page for the given position.  The adapter is responsible
               * for removing the view from its container, although it only must ensure
               * this is done by the time it returns from {@link #finishUpdate()}.
               *
               * @param container The containing View from which the page will be removed.
               * @param position The page position to be removed.
               * @param object The same object that was returned by
               * {@link #instantiateItem(View, int)}.
               */
              @Override
              public void destroyItem(View collection, int position, Object view) {
                  //((ViewPager) collection).removeView((TextView) view);
                  ((ViewPager) collection).removeView((View) view);
              }
  
  
  
              @Override
              public boolean isViewFromObject(View view, Object object) {
                  //return view==((TextView)object);
                  return view==((View)object);
              }
  
  
              /**
               * Called when the a change in the shown pages has been completed.  At this
               * point you must ensure that all of the pages have actually been added or
               * removed from the container as appropriate.
               * @param container The containing View which is displaying this adapter's
               * page views.
               */
              @Override
              public void finishUpdate(View arg0) {}
  
  
              @Override
              public void restoreState(Parcelable arg0, ClassLoader arg1) {}
  
              @Override
              public Parcelable saveState() {
                  return null;
              }
  
              @Override
              public void startUpdate(View arg0) {}
  
          }
  </code></pre>
  
  <p>And finally updateDisplay() has all of my UI elements that I want shown up:</p>
  
  <pre><code>private void updateDisplay(final BlastScore score, int viewId, View layout) {
          final TextView scoreTextView = (TextView) layout.findViewById(R.id.scoreTextView);
          final TextView scoreLabelTextView = (TextView) layout.findViewById(R.id.scoreLabelTextView);
  
          int blastScore = score.getBlastScore();
  
          // animateScore();
  
          // Swing Speed UI
          final TextView leftPanelTextView = (TextView) layout.findViewById(R.id.leftPanelTextView);
          final TextView leftPanelLabelTextView = (TextView) layout.findViewById(R.id.leftPanelLabelTextView);
          final ImageView leftPanelImageView = (ImageView) layout.findViewById(R.id.leftPanelImageView);
          final ImageView leftPanelSelectionArrow = (ImageView) layout.findViewById(R.id.leftPanelSelectionArrow);
  
  
          // Ball Speed UI
          final TextView middlePanelTextView = (TextView) layout.findViewById(R.id.middlePanelTextView);
          final TextView middlePanelLabelTextView = (TextView) layout.findViewById(R.id.middlePanelLabelTextView);
          final ImageView middlePanelImageView = (ImageView) layout.findViewById(R.id.middlePanelImageView);
          final ImageView middlePanelSelectionArrow = (ImageView) layout.findViewById(R.id.middlePanelSelectionArrow);
  </code></pre>