Ganesh Pandey
Ganesh Pandey

Reputation: 5276

Send List Objects using Intent from one Activity to another using Parcelable | Android

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

Upvotes: 1

Views: 660

Answers (3)

Roberto Tellez Ibarra
Roberto Tellez Ibarra

Reputation: 2166

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

Upvotes: -1

ab.helly
ab.helly

Reputation: 517

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)

Upvotes: 1

CWhitten
CWhitten

Reputation: 91

Use putParcelable("MOVIES",mMovies); and getParcelableArrayListExtra("MOVIES") instead. How can I make my custom objects Parcelable? may provide some more insight.

Upvotes: 2

Related Questions