title: NullPointerException: Attempt to invoke virtual method 'int java.util.ArrayList.size()' on a null object reference
body: <p>I'm a newbie to <code>Fragments</code> and custom <code>ListView</code> adapters. Can anyone give me a hand please?</p>
  
  <p>I've got my <code>Fragment</code> where I have my <code>ListView</code></p>
  
  <pre><code>public class RecordingListFragment extends Fragment implements OnItemClickListener {
  
      ListView mListView;
      TextView emptyView;
      Button options, delete,edit;
      ArrayList&lt;String&gt; recordings = null;
      RecordingsListAdapter mAdapter;
  
      public RecordingListFragment() {
      }
  
      @Override
      public View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) {
          View rootView = inflater.inflate(R.layout.recording_list_fragment, container,false);
  
          options = (Button) rootView.findViewById(R.id.options);
          edit = (Button) rootView.findViewById(R.id.edit);
          delete = (Button) rootView.findViewById(R.id.delete);
          mListView = (ListView) rootView.findViewById(R.id.list);
          emptyView = (TextView) rootView.findViewById(R.id.empty);
  
  
          mAdapter = new RecordingsListAdapter(this, recordings);
          mListView.setAdapter(mAdapter);
          mListView.setEmptyView(emptyView);
          mListView.setOnItemClickListener(this);
  
          return rootView;
      }
  }
  </code></pre>
  
  <p>and my xml for it</p>
  
  <pre><code>&lt;LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
      xmlns:tools="http://schemas.android.com/tools"
      xmlns:android1="http://schemas.android.com/apk/res/android"
      android:id="@+id/recording_list_fragment"
      android:layout_width="match_parent"
      android:layout_height="match_parent"
      android:background="#ffffff"
      android:orientation="vertical"&gt;
  
      &lt;RelativeLayout
          android:layout_height="50dp"
          android:layout_width="match_parent"
          android:orientation="horizontal"
          android:background="@drawable/title" &gt;
  
          &lt;TextView
              android1:id="@+id/title"
              android1:layout_width="wrap_content"
              android1:layout_height="50dp"
              android1:layout_alignParentTop="true"
              android1:layout_centerHorizontal="true"
              android1:layout_marginStart="80dp"
              android1:gravity="center"
              android1:text="@string/app_name"
              android1:textAlignment="center"
              android1:textColor="#000000"
              android1:textStyle="bold" /&gt;
  
      &lt;/RelativeLayout&gt;
  
      &lt;FrameLayout
          android:layout_height="wrap_content"
          android:layout_width="match_parent"&gt;
  
          &lt;ListView
              android:id="@+id/list"
              android:animateLayoutChanges="true"
              android:layout_width="match_parent"
              android:layout_height="match_parent"/&gt;
          &lt;!--  android:divider="@null"--&gt; 
  
          &lt;TextView
              android:id="@+id/empty"
              android:layout_width="match_parent"
              android:layout_height="match_parent"
              android:gravity="center"
              android:text="@string/empty_list_text"
              android:paddingLeft="30dp"
              android:paddingRight="30dp"
              android:paddingTop="180dp" /&gt;
  
      &lt;/FrameLayout&gt;
  &lt;/LinearLayout&gt;
  </code></pre>
  
  <p>and I've got my custom list item</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_height="wrap_content"
      android:layout_width="match_parent"
      android:orientation="horizontal" &gt;
  
      &lt;CheckedTextView
          android:id="@+id/textView"
          android:layout_width="fill_parent"
          android:layout_height="?android:attr/listPreferredItemHeight"
          android:textAppearance="?android:attr/textAppearanceLarge"
          android:gravity="center_vertical"
          android:checkMark="?android:attr/listChoiceIndicatorSingle"
          android:paddingLeft="6dip"
          android:paddingRight="6dip"
          android:textColor="#000000"
          /&gt; 
  
  &lt;/LinearLayout&gt;
  </code></pre>
  
  <p>and finally, my <code>Adapter</code></p>
  
  <pre><code>public class RecordingsListAdapter  extends BaseAdapter {
      Context ctx;
      LayoutInflater lInflater;
      ArrayList&lt;String&gt; recordings;
  
      RecordingsListAdapter(Context context, ArrayList&lt;String&gt; products) {
          ctx = context;
          recordings = products;
          lInflater = (LayoutInflater) ctx
          .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
      }
  
      public RecordingsListAdapter(RecordingListFragment recordingListFragment,
      ArrayList&lt;String&gt; recordings) {
          // TODO Auto-generated constructor stub
      }
  
  
      @Override
      public int getCount() {
          return recordings.size();
      }
  
  
      @Override
      public Object getItem(int position) {
          return recordings.get(position);
      }
  
  
      @Override
      public long getItemId(int position) {
          return position;
      }
  
  
      @Override
      public View getView(int position, View convertView, ViewGroup parent) {
  
          View view = convertView;
          if (view == null) {
              view = lInflater.inflate(R.layout.custom_list_item, parent, false);
          }
  
          return view;
      }
  } 
  </code></pre>
  
  <p>and when I run this, I get this null pointer</p>
  
  <pre><code>11-26 11:00:45.352: E/AndroidRuntime(10191): java.lang.RuntimeException: Unable to start activity ComponentInfo{d/recordings.RecordingsActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'int java.util.ArrayList.size()' on a null object reference
  11-26 11:00:45.352: E/AndroidRuntime(10191):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2298)
  11-26 11:00:45.352: E/AndroidRuntime(10191):    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2360)
  11-26 11:00:45.352: E/AndroidRuntime(10191):    at android.app.ActivityThread.access$800(ActivityThread.java:144)
  11-26 11:00:45.352: E/AndroidRuntime(10191):    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1278)
  11-26 11:00:45.352: E/AndroidRuntime(10191):    at android.os.Handler.dispatchMessage(Handler.java:102)
  11-26 11:00:45.352: E/AndroidRuntime(10191):    at android.os.Looper.loop(Looper.java:135)
  11-26 11:00:45.352: E/AndroidRuntime(10191):    at android.app.ActivityThread.main(ActivityThread.java:5221)
  11-26 11:00:45.352: E/AndroidRuntime(10191):    at java.lang.reflect.Method.invoke(Native Method)
  11-26 11:00:45.352: E/AndroidRuntime(10191):    at java.lang.reflect.Method.invoke(Method.java:372)
  11-26 11:00:45.352: E/AndroidRuntime(10191):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:899)
  11-26 11:00:45.352: E/AndroidRuntime(10191):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694)
  11-26 11:00:45.352: E/AndroidRuntime(10191): Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'int java.util.ArrayList.size()' on a null object reference
  11-26 11:00:45.352: E/AndroidRuntime(10191):    at recordings.RecordingsListAdapter.getCount(RecordingsListAdapter.java:36)
  11-26 11:00:45.352: E/AndroidRuntime(10191):    at android.widget.ListView.setAdapter(ListView.java:487)
  11-26 11:00:45.352: E/AndroidRuntime(10191):    at recordings.RecordingListFragment.onCreateView(RecordingListFragment.java:47)
  11-26 11:00:45.352: E/AndroidRuntime(10191):    at android.app.Fragment.performCreateView(Fragment.java:2053)
  11-26 11:00:45.352: E/AndroidRuntime(10191):    at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:894)
  11-26 11:00:45.352: E/AndroidRuntime(10191):    at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:1067)
  11-26 11:00:45.352: E/AndroidRuntime(10191):    at android.app.BackStackRecord.run(BackStackRecord.java:833)
  11-26 11:00:45.352: E/AndroidRuntime(10191):    at android.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1452)
  11-26 11:00:45.352: E/AndroidRuntime(10191):    at android.app.Activity.performStart(Activity.java:5948)
  11-26 11:00:45.352: E/AndroidRuntime(10191):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2261)
  11-26 11:00:45.352: E/AndroidRuntime(10191):    ... 10 more
  </code></pre>
  
  <p>Thank you in advance!!!</p>