java - How to send non-string data across activity -


in twitterfragment class have

list<twitter4j.status> statuses = twitter.getusertimeline(user); intent intent = new intent(getactivity(), twitter_timeline.class); intent.putextra(twitter_timeline.status_list, statuses);// line giving error if pass status  

in twitter_timeline class want statues sent twitter fragment.

public class twitter_timeline extends activity {     public static list<twitter4j.status> status_list;      @override     protected void oncreate(bundle savedinstancestate) {         super.oncreate(savedinstancestate);         setcontentview(r.layout.activity_twitter_timeline);          settitle("timeline");          list<twitter4j.status> statuses = (status) this.getintent().getstringarrayextra(status_list); // line not resolving if cast status type     } 

here intent expects stringarray in function getintent.getstringarrayextra(...), have sent twitter status fragment.

because twitter4j.status class implements serializable, should able create serializable wrapper class , send through intent extras.

create mystatuses class in mystatuses.java:

import java.io.serializable;  public class mystatuses implements serializable {     list<twitter4j.status> statuses; } 

then send instance of wrapper class in intent extras:

    list<twitter4j.status> statuses = twitter.getusertimeline(user);     mystatuses mystatuses = new mystatuses();     mystatuses.statuses = statuses;     intent intent = new intent(getactivity(), twitter_timeline.class);     intent.putextra("statuses", mystatuses); 

then use getserializable() in order intent extra:

public class twitter_timeline extends activity {     //public static list<twitter4j.status> status_list;      list<twitter4j.status> statuses;      @override     protected void oncreate(bundle savedinstancestate) {         super.oncreate(savedinstancestate);         setcontentview(r.layout.activity_twitter_timeline);          settitle("timeline");         bundle b = this.getintent().getextras();         if (b != null) {             mystatuses mystatuses = (mystatuses) b.getserializable("statuses");             statuses = mystatuses.statuses;         }     } 

Comments