title: Is it impossible to add multiple views to a ScrollView?
body: <p>If so, it seems that either the ScrollView is rather lame (doubtful) or there's some other way to do it. Here's my code. Where it bombs (the second time through the loop, that is) is commented.</p>
  
  <pre><code>public void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.ondemandandautomatic_dynamicauthorize);
  
      ScrollView svh = (ScrollView) findViewById(R.id.scrollViewHost);
  
      // Contacts data snippet adapted from
      // http://saigeethamn.blogspot.com/2011/05/contacts-api-20-and-above-android.html
      ContentResolver cr = getContentResolver();
      Cursor cur = cr.query(ContactsContract.Contacts.CONTENT_URI, null,
              null, null, null);
      if (cur.getCount() &gt; 0) {
          while (cur.moveToNext()) {
              String id = cur.getString(cur
                      .getColumnIndex(ContactsContract.Contacts._ID));
              String name = cur
                      .getString(cur
                              .getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME));
  
              // Create a Linear Layout for each contact?
              LinearLayout llay = new LinearLayout(this);
              llay.setOrientation(LinearLayout.HORIZONTAL);
  
              LinearLayout.LayoutParams llp = new LayoutParams(
                      LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
              llp.weight = 1.0f;
  
              CheckBox cbOnDemand = new CheckBox(getApplicationContext());
              cbOnDemand.setTag(id);
              cbOnDemand.setLayoutParams(llp);
              llay.addView(cbOnDemand);
  
              CheckBox cbTime = new CheckBox(getApplicationContext());
              cbOnDemand.setTag(id);
              cbTime.setLayoutParams(llp);
              llay.addView(cbTime);
  
              CheckBox cbSpace = new CheckBox(getApplicationContext());
              cbOnDemand.setTag(id);
              cbSpace.setLayoutParams(llp);
              llay.addView(cbSpace);
  
              TextView tv = new TextView(getApplicationContext());
              tv.setTag(id);
              tv.setText(name);
              tv.setLayoutParams(llp);
              llay.addView(tv);
  
              svh.addView(llay); // it transports me to Eclipse's Debug perspective when I hit this line the SECOND time around.
              // One cat on stackOverflow said to do this, another said it
              // would be unnecessary
              svh.invalidate();
          }
      }
  }
  </code></pre>