title: Android ScrollView can host only one direct child
body: <p>I have a onclick listener from the gallery that should clear all the rows inside the tableview, then add row/rows to a tableview inside a scrollview.  The fragment should change on every button click.</p>
  
  <p>However I am getting: java.lang.IllegalStateException: ScrollView can host only one direct child.</p>
  
  <p><strong>myactivity button listener</strong></p>
  
  <pre><code>            TrackerFragment tf = (TrackerFragment) getFragmentManager().findFragmentById(R.id.tracker1);
              tf = TrackerFragment.newInstance(listOfList.get(id).get(position));
  
              fragmentTransaction.add(R.id.tracker1, tf);
              fragmentTransaction.commit();
              t1 = true; //being used
              getFragmentManager().executePendingTransactions();
  </code></pre>
  
  <p><strong>tracker fragment</strong></p>
  
  <pre><code>public class TrackerFragment extends Fragment
  {
      private Dish dish;
  
      public static TrackerFragment newInstance(Serializable dish) 
      {
          TrackerFragment tf = new TrackerFragment();
  
          Bundle args = new Bundle();
          args.putSerializable("dish", dish);
          tf.setArguments(args);
  
          return tf;
      }
  
      public static TrackerFragment newInstance(Bundle bundle)
      {
          Dish dish = (Dish) bundle.getSerializable("dish");
          return newInstance(dish);
      }
  
      @Override
      public void onCreate(Bundle myBundle)
      {
          super.onCreate(myBundle);
      }
  
      @Override
      public View onCreateView(LayoutInflater inflater, ViewGroup container,
              Bundle savedInstanceState) 
      {
          View v = inflater.inflate(R.layout.tracker, container, false);
  
          TableLayout tableLayout = (TableLayout) v.findViewById(R.id.tracker_layout);
          tableLayout.removeAllViews();
  
          if (dish != null)
          {   
              //display others
  
              //display subsystem stuff
              for (int i = 0; i &lt; dish.getSubsystems().size(); i++)
              {
                  TableRow tableRow = new TableRow(v.getContext());
                  tableRow.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT,LayoutParams.WRAP_CONTENT));
  
                  TextView tv = new TextView(v.getContext());
                  tv.setText(dish.getSubsystems().get(i).getConnFuncAddr());
  
                  tableRow.addView(tv);
  
                  tableLayout.addView(tableRow);
              }
          }
          else
          {
              TableRow tableRow = new TableRow(v.getContext());
              tableRow.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT,LayoutParams.WRAP_CONTENT));
  
              TextView tv = new TextView(v.getContext());
              tv.setText("Click on image to view more data");
  
              tableRow.addView(tv);
  
              tableLayout.addView(tableRow);
          }
  
          return v;
      }
  }
  </code></pre>
  
  <p><strong>main.xml</strong></p>
  
  <pre><code>&lt;?xml version="1.0" encoding="utf-8"?&gt;
  &lt;LinearLayout 
      android:layout_width="fill_parent" 
      android:layout_height="fill_parent" 
      android:orientation="horizontal" 
      xmlns:android="http://schemas.android.com/apk/res/android"&gt;
  
      &lt;!-- Trackers --&gt;
      &lt;LinearLayout
          android:layout_height="fill_parent"
          android:layout_width="300dp"
          android:layout_weight="1"
          android:orientation="vertical"&gt;
  
          &lt;fragment 
              android:name="android.gallery.TrackerFragment"
              android:id="@+id/tracker1"
              android:layout_height="500dp"
              android:layout_width="300dp"
              android:layout_weight="1"&gt;
          &lt;/fragment&gt;
  
      &lt;/LinearLayout&gt;
  
      &lt;!-- Gallery --&gt;
      &lt;LinearLayout
          android:layout_height="fill_parent"
          android:layout_width="600dp"
          android:layout_weight="1"
          android:orientation="vertical"&gt;
  
          &lt;LinearLayout
              android:layout_width="fill_parent"
              android:layout_height="245dp"&gt;
  
              &lt;Gallery 
                  android:id="@+id/galleryid0"
                  android:layout_width="fill_parent" 
                  android:layout_height="match_parent"/&gt;
  
          &lt;/LinearLayout&gt;
  
          &lt;LinearLayout
              android:layout_width="fill_parent"
              android:layout_height="245dp"&gt;
  
              &lt;Gallery 
                  android:id="@+id/galleryid1"
                  android:layout_width="fill_parent" 
                  android:layout_height="match_parent"/&gt;
  
          &lt;/LinearLayout&gt;
  
          &lt;LinearLayout
              android:layout_width="fill_parent"
              android:layout_height="245dp"&gt;
  
              &lt;Gallery 
                  android:id="@+id/galleryid2"
                  android:layout_width="fill_parent" 
                  android:layout_height="match_parent"/&gt;
  
              &lt;/LinearLayout&gt;
  
          &lt;/LinearLayout&gt;
  
  &lt;/LinearLayout&gt;
  </code></pre>
  
  <p><strong>tracker.xml</strong></p>
  
  <pre><code>&lt;?xml version="1.0" encoding="utf-8"?&gt;
  &lt;ScrollView
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent"&gt;
  
      &lt;TableLayout 
          android:layout_width="match_parent" 
          android:layout_height="match_parent"
          android:id="@+id/tracker_layout"&gt;
  
      &lt;/TableLayout&gt;
  
  &lt;/ScrollView&gt;
  </code></pre>
  
  <p>Does anyone know whats wrong?  I am guessing I am adding a table row to the scrollview and not the tableview, however, I dont see where I am doing that wrong in my code.</p>