0

I am trying to pass a 2D-stringArray to another Activity but the method in the receiver Activity returns a ClassCastException to send the information to the other activity

 String[][] my2Dlist = {{"1", "john"}, {"2", "marie"}, {"3", "thomas"}};
 Intent intent = new Intent(MainActivity.this, CalculationsActivity.class);
 Bundle b=new Bundle();
 b.putSerializable("list", my2Dlist);
 intent.putExtras(b);
 startActivity(intent);

then in the receiver activity

 String[][] myString = (String[][]) getIntent().getExtras().getSerializable("list");

Error:

 Java.lang ClassCastException. Object[] cannot be cast to a String[][].

I do not understand it - how can it in the other Activity become an Object[] when I send a String[][]?

What should I do to overcome this problem?

I looked att this post and it seemed to work for them, but not in my case

Pass 2D array to another Activity

logcat

08-05 15:17:48.725: E/AndroidRuntime(15576): FATAL EXCEPTION: main
08-05 15:17:48.725: E/AndroidRuntime(15576): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.celestialnavigationii/com.example.celestialnavigationii.CalculationsActivity}: java.lang.ClassCastException: java.lang.Object[] cannot be cast to java.lang.String[][]
08-05 15:17:48.725: E/AndroidRuntime(15576):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2100)
08-05 15:17:48.725: E/AndroidRuntime(15576):    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2125)
08-05 15:17:48.725: E/AndroidRuntime(15576):    at android.app.ActivityThread.access$600(ActivityThread.java:140)
08-05 15:17:48.725: E/AndroidRuntime(15576):    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1227)
08-05 15:17:48.725: E/AndroidRuntime(15576):    at android.os.Handler.dispatchMessage(Handler.java:99)
08-05 15:17:48.725: E/AndroidRuntime(15576):    at android.os.Looper.loop(Looper.java:137)
08-05 15:17:48.725: E/AndroidRuntime(15576):    at android.app.ActivityThread.main(ActivityThread.java:4898)
08-05 15:17:48.725: E/AndroidRuntime(15576):    at java.lang.reflect.Method.invokeNative(Native Method)
08-05 15:17:48.725: E/AndroidRuntime(15576):    at java.lang.reflect.Method.invoke(Method.java:511)
08-05 15:17:48.725: E/AndroidRuntime(15576):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1006)
08-05 15:17:48.725: E/AndroidRuntime(15576):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:773)
08-05 15:17:48.725: E/AndroidRuntime(15576):    at dalvik.system.NativeStart.main(Native Method)
08-05 15:17:48.725: E/AndroidRuntime(15576): Caused by: java.lang.ClassCastException: java.lang.Object[] cannot be cast to java.lang.String[][]
08-05 15:17:48.725: E/AndroidRuntime(15576):    at com.example.celestialnavigationii.CalculationsActivity.onCreate(CalculationsActivity.java:38)
08-05 15:17:48.725: E/AndroidRuntime(15576):    at android.app.Activity.performCreate(Activity.java:5184)
08-05 15:17:48.725: E/AndroidRuntime(15576):    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1083)
08-05 15:17:48.725: E/AndroidRuntime(15576):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2064)
08-05 15:17:48.725: E/AndroidRuntime(15576):    ... 11 more
Community
  • 1
  • 1
user2991252
  • 760
  • 2
  • 11
  • 28

0 Answers0