You can also get information on this site.....
http://shri.blog.kraya.co.uk/2010/04/26/android-parcel-data-to-pass-between-activities-using-parcelable-classes/
Cretae a class which implements Parceblable interface
http://shri.blog.kraya.co.uk/2010/04/26/android-parcel-data-to-pass-between-activities-using-parcelable-classes/
Cretae a class which implements Parceblable interface
public class MyParcel implements Parcelable {
//A HASHMAP WHICH CAN HOLD ALL YOR OBJECTS
private HashMap<String,Object> activityParcel;
public MyParcel(){
//INITIALIZING A HASHMAP
activityParcel=new HashMap<String,Object>();
}
public void readFromParcel(Parcel in) {
int count = in.readInt();
for (int i = 0; i < count; i++) {
activityParcel.put(in.readString(), in.readValue(Object.class.getClassLoader()));
}
}
public MyParcel(Parcel in) {
activityParcel = new HashMap<String,Object>();
readFromParcel(in);
}
@Override
public int describeContents() {
return activityParcel!=null?activityParcel.size():0;
}
@Override
public void writeToParcel(Parcel dest, int flags) {
dest.writeInt(activityParcel.size());
for (String s: (Set<String>)activityParcel.keySet()) {
dest.writeString(s);
dest.writeValue(activityParcel.get(s));
}
}
//MANDATORY CLASS MEMBER ,NAME CREATOR IS ALSO MANDATED
public static final Parcelable.Creator<MyParcel> CREATOR=new Parcelable.Creator<MyParcel>() {
@Override
public MyParcel createFromParcel(Parcel source) {
return new MyParcel(source);
}
@Override
public MyParcel[] newArray(int size) {
return new MyParcel[size];
}
};
public Object get(String key){
return activityParcel.get(key);
}
public void put(String key, Object value) {
activityParcel.put(key, value);
}
}
Now if you want to send your Parcel from Activity A to Activity BMyParcelmyParcel=newMyParcel();myParcel.put("MyObject",newDate());//sends a blank date object.BundlemyBundle =newBundle();myBundle.putParcelable("My Bundle Key", myParcel);IntentcontentIntent=newIntent(ActivityA.this,ActivityB.class);startActivity(contentIntent);now from ActivityB:BundlecontetnBundle = getIntent().getExtras();MyParcelmyParcel = contetnBundle.getParcelable("My Bundle Key");DatemyDateWithActivityA=(Date)myParcel.get("MyObject");
No comments:
Post a Comment