title: Is it possible to disable scroll on a listView?
body: <p>I dynamically add items to a <code>ListView</code> and want to make all the items always visible, without scrolling.</p>
  
  <p>Layout Code:</p>
  
  <pre><code>&lt;LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  android:layout_width="match_parent"
  android:layout_height="match_parent"
  android:background="@drawable/recipe_inside"
  android:orientation="vertical" &gt;
  
  &lt;ScrollView
      android:layout_width="match_parent"
      android:layout_height="wrap_content" &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" &gt;
  
          &lt;ImageView
              android:id="@+id/imageView1"
              android:layout_width="match_parent"
              android:layout_height="16dp"
              android:src="@drawable/head_cella" /&gt;
  
          &lt;TextView
              android:id="@+id/textView1"
              android:layout_width="wrap_content"
              android:layout_height="41dp"
              android:background="@drawable/body_cella"
              android:gravity="center_horizontal"
              android:paddingTop="5dp"
              android:text="Remember to save before leaving this page or inserted/modified data will be lost."
              android:textColor="#000000"
              android:textSize="13dp" /&gt;
  
          &lt;ImageView
              android:id="@+id/ImageView01"
              android:layout_width="match_parent"
              android:layout_height="16dp"
              android:layout_marginTop="30dp"
              android:src="@drawable/head_cella" /&gt;
  
          &lt;TextView
              android:id="@+id/TextView01"
              android:layout_width="wrap_content"
              android:layout_height="35dp"
              android:background="@drawable/body_cella"
              android:gravity="center_horizontal"
              android:paddingTop="10dp"
              android:text="Category"
              android:textColor="#000000"
              android:textSize="15dp" /&gt;
  
          &lt;Spinner
              android:id="@+id/category_spinner"
              android:layout_width="match_parent"
              android:layout_height="wrap_content" /&gt;
  
          &lt;ImageView
              android:id="@+id/ImageView02"
              android:layout_width="match_parent"
              android:layout_height="16dp"
              android:layout_marginTop="30dp"
              android:src="@drawable/head_cella" /&gt;
  
          &lt;TextView
              android:id="@+id/TextView02"
              android:layout_width="wrap_content"
              android:layout_height="35dp"
              android:background="@drawable/body_cella"
              android:gravity="center_horizontal"
              android:paddingTop="10dp"
              android:text="Name"
              android:textColor="#000000"
              android:textSize="15dp" /&gt;
  
          &lt;EditText
              android:id="@+id/recipe_title"
              android:layout_width="match_parent"
              android:layout_height="wrap_content"
              android:ems="10"
              android:hint="Recipe title" android:lines="1"/&gt;
  
          &lt;ImageView
              android:id="@+id/ImageView03"
              android:layout_width="match_parent"
              android:layout_height="16dp"
              android:layout_marginTop="30dp"
              android:src="@drawable/head_cella" /&gt;
  
          &lt;TextView
              android:id="@+id/TextView03"
              android:layout_width="wrap_content"
              android:layout_height="35dp"
              android:background="@drawable/body_cella"
              android:gravity="center_horizontal"
              android:paddingTop="10dp"
              android:text="Ingredients"
              android:textColor="#000000"
              android:textSize="15dp" /&gt;
           &lt;ListView
              android:id="@android:id/list"
              android:layout_width="fill_parent"
              android:layout_height="wrap_content"
              android:layout_weight="1" android:cacheColorHint="#00000000" android:divider="#00000000"
              android:isScrollContainer="false"
              &gt;
         &lt;/ListView&gt;
  
           &lt;Button
               android:id="@+id/button_ing"
               android:layout_width="wrap_content"
               android:layout_height="wrap_content"
               android:text="" android:background="@drawable/add_recipe_button" android:onClick="addItems"/&gt;
  
      &lt;/LinearLayout&gt;
  
  &lt;/ScrollView&gt;&lt;/LinearLayout&gt;
  </code></pre>
  
  <p>old OnCreate() function code:</p>
  
  <pre><code>protected void onCreate(Bundle savedInstanceState)
  {
  
      super.onCreate(savedInstanceState);
  
      setContentView(R.layout.add_recipe_form);
  
      spinner = (Spinner)myhead.findViewById(R.id.category_spinner);
  
      Cursor cursor = mydb.getCategoriesList();
      ArrayList&lt;Category&gt; list = new ArrayList&lt;Category&gt;();
      list.add(new Category(0,"Choose a category"));
  
      while (cursor.moveToNext()) {
          list.add(new Category(cursor.getInt(0),cursor.getString(1))); 
      }
      // Step 2: Create and fill an ArrayAdapter with a bunch of "State" objects
      ArrayAdapter spinnerArrayAdapter = new ArrayAdapter(this,android.R.layout.simple_spinner_item, list);
  
      // Step 3: Tell the spinner about our adapter
      spinner.setAdapter(spinnerArrayAdapter);   
      spinner.setOnItemSelectedListener(this);
  
  
      setListAdapter(adapter);
      ingredients.add((View)findViewById(R.layout.row_add_recipe));
      adapter.notifyDataSetChanged();
  }
  </code></pre>
  
  <p>If I move code related to fill my spinner with database data, it always returns me a NullPointerException as it's not found in my layout. So I need to keep it here and the solution adding addHeaderView() to my ListView seems to be ok, but I have another NullPointerException regarding my head layout:</p>
  
  <pre><code>protected void onCreate(Bundle savedInstanceState)
  {
  
      super.onCreate(savedInstanceState);
  
      setContentView(R.layout.add_recipe_form);
      ListView mylistview = (ListView) findViewById(android.R.id.list);
      LinearLayout myhead = (LinearLayout)findViewById(R.id.linear_form);
      mylistview.addHeaderView(myhead);
      spinner = (Spinner)myhead.findViewById(R.id.category_spinner);
  
      Cursor cursor = mydb.getCategoriesList();
      ArrayList&lt;Category&gt; list = new ArrayList&lt;Category&gt;();
      list.add(new Category(0,"Choose a category"));
  
      while (cursor.moveToNext()) {
          list.add(new Category(cursor.getInt(0),cursor.getString(1))); 
      }
      // Step 2: Create and fill an ArrayAdapter with a bunch of "State" objects
      ArrayAdapter spinnerArrayAdapter = new ArrayAdapter(this,android.R.layout.simple_spinner_item, list);
  
      // Step 3: Tell the spinner about our adapter
      spinner.setAdapter(spinnerArrayAdapter);   
      spinner.setOnItemSelectedListener(this);
  
  
      setListAdapter(adapter);
      ingredients.add((View)findViewById(R.layout.row_add_recipe));
      adapter.notifyDataSetChanged();
  }
  </code></pre>