I was developing an Android application and in one of the sections passed data using Intent from the DatePicker dialog fragment back to the fragment created using getTargetFragment (). onActivityResult (int targetRequestCode, int resultCode, Intent intent), I add three integers (date, month and year) extracted from the calendar fragment to the transferred intent. Then I read this intent in the onActivityResult () method of the fragment it created. Everything works as it should, and everything is fine, and the dandy and the world are the perfect place to live.
While I was trying to debug the stupid mistake I made, I noticed something interesting. When I expand the content of the intent, I find that my data is in the packet as expected. But I see that there is another object inside the intent called android.util.ArrayMap with size 3.

This size, apparently, corresponds to the amount of data that I set in the intent (I tested it by adding additional dummy parameters). when I expand the contents of the ArrayMap, I see that it throws a ClassNotFoundException. Why do this. The key type is String and the value type is Integer (I put an int, but I don't think it matters, since I added a key and value to String, and it still throws an exception). I expanded the details of ArrayMap, but that doesn't seem to make sense.

My questions:
- Why does this ClassNotFoundException event occur?
- What is necessary for ArrayMap in the first place?
source share