title: Passing ArrayList<String[]> between activities
body: <p>I am trying to pass an <code>ArrayList&lt;String[]&gt;</code> between two activities, but can't seem to figure out how to do it.</p>
  
  <p>I've tried <code>putParcelable</code> and cast the <code>ArrayList&lt;String[]</code> to a <code>Parcelable</code> but that gave me the error <code>java.lang.ClassCastException: java.util.ArrayList cannot be cast to android.os.Parcelable</code>.</p>
  
  <p>I've also tried <code>putStringArrayList</code>, but that didn't work either.</p>
  
  <p>Your input is appreciated!</p>
  
  <p><strong>Main Activity</strong></p>
  
  <pre><code>Intent i = new Intent(context, NewChecklistActivity.class);
  i.putExtra("checklists", checklistsArray);
  </code></pre>
  
  <p><strong>Secondary Activity</strong></p>
  
  <pre><code>checklistsArray = (ArrayList&lt;String[]&gt;) getIntent().getSerializableExtra("checklists");
  </code></pre>
  
  <p><strong>StackTrace</strong></p>
  
  <pre><code>01-04 18:49:09.140: E/AndroidRuntime(2246): FATAL EXCEPTION: main
  01-04 18:49:09.140: E/AndroidRuntime(2246): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.medusa.checkit/com.medusa.checkit.NewChecklistActivity}: java.lang.NullPointerException
  01-04 18:49:09.140: E/AndroidRuntime(2246):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1956)
  01-04 18:49:09.140: E/AndroidRuntime(2246):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1981)
  01-04 18:49:09.140: E/AndroidRuntime(2246):     at android.app.ActivityThread.access$600(ActivityThread.java:123)
  01-04 18:49:09.140: E/AndroidRuntime(2246):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1147)
  01-04 18:49:09.140: E/AndroidRuntime(2246):     at android.os.Handler.dispatchMessage(Handler.java:99)
  01-04 18:49:09.140: E/AndroidRuntime(2246):     at android.os.Looper.loop(Looper.java:137)
  01-04 18:49:09.140: E/AndroidRuntime(2246):     at android.app.ActivityThread.main(ActivityThread.java:4424)
  01-04 18:49:09.140: E/AndroidRuntime(2246):     at java.lang.reflect.Method.invokeNative(Native Method)
  01-04 18:49:09.140: E/AndroidRuntime(2246):     at java.lang.reflect.Method.invoke(Method.java:511)
  01-04 18:49:09.140: E/AndroidRuntime(2246):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
  01-04 18:49:09.140: E/AndroidRuntime(2246):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
  01-04 18:49:09.140: E/AndroidRuntime(2246):     at dalvik.system.NativeStart.main(Native Method)
  01-04 18:49:09.140: E/AndroidRuntime(2246): Caused by: java.lang.NullPointerException
  01-04 18:49:09.140: E/AndroidRuntime(2246):     at com.medusa.checkit.NewChecklistActivity.onCreate(NewChecklistActivity.java:39)
  01-04 18:49:09.140: E/AndroidRuntime(2246):     at android.app.Activity.performCreate(Activity.java:4470)
  01-04 18:49:09.140: E/AndroidRuntime(2246):     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1049)
  01-04 18:49:09.140: E/AndroidRuntime(2246):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1920)
  01-04 18:49:09.140: E/AndroidRuntime(2246):     ... 11 more
  </code></pre>