I have Arraylist private ArrayList<Movies> mMovies; of type Movies which is implemented as Parcelable defined in MainActivity.
mMovies contains list of movies around 20.
within MainActivity inside onCreateView() method
I tried to pass the parcelable objects to another Activity called DetailActivity
Intent intent = new Intent(getActivity(), DetailActivity.class);
intent.putExtra("MOVIES", movieList);
startActivity(intent);
Using debugger i can see the movieList contains 20 rows.
This is how i tried to read parcelable objects which was passed through intents from MainActivity.
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Bundle bundle = getActivity().getIntent().getExtras();
mMovies = getActivity().getIntent().getParcelableExtra("MOVIES");
}
While i try to see the mMovies value using debugger it shows null
enter image description here
3 Answers 3
Use putParcelable("MOVIES",mMovies); and getParcelableArrayListExtra("MOVIES") instead. How can I make my custom objects Parcelable? may provide some more insight.
Comments
First, you put to extras list, but trying to get a Movie onject, use getParcelableArrayList()
Second, check out Parcelable implementation (and make sure you call right consctructor in CREATOR)
Comments
My suggestion is exporting the Movies class to Json String as in: Android- create JSON Array and JSON Object Then, passing it as String from one Intent to the second
2 Comments
Movies class to JSON?Explore related questions
See similar questions with these tags.
Parcelableimplementation is correct?