android - How to put latlong object in parcelable class -
i want send class object activity contains latlng. gives exception. below class has latlng field.
import android.os.parcel; import android.os.parcelable; import android.support.annotation.keep; import com.google.android.gms.maps.model.latlng; import java.io.serializable; public class institute implements serializable,parcelable { private string institutename; private latlng latlng; protected institute(parcel in) { institutename = in.readstring(); latlng = in.readparcelable(latlng.class.getclassloader()); } public static final creator<institute> creator = new creator<institute>() { @override public institute createfromparcel(parcel in) { return new institute(in); } @override public institute[] newarray(int size) { return new institute[size]; } }; @override public void writetoparcel(parcel parcel, int i) { parcel.writestring(institutename); parcel.writeparcelable(latlng,parcelable_write_return_value); } public string getinstitutename() { return institutename; } public void setinstitutename(string institutename) { this.institutename = institutename; } public void setlatlng(latlng latlng) { this.latlng = latlng; } public latlng getlatlng() { return latlng; } } and gives me following exception
fatal exception: main process: in.thoughtsmith.jink, pid: 24906 java.lang.runtimeexception: unable start activity componentinfo{in.thoughtsmith.jink/in.thoughtsmith.jink.institutedetails}: android.os.badparcelableexception: classnotfoundexception when unmarshalling: seed0004 @ android.app.activitythread.performlaunchactivity(activitythread.java:2416) @ android.app.activitythread.handlelaunchactivity(activitythread.java:2476) @ android.app.activitythread.access$900(activitythread.java:150) @ android.app.activitythread$h.handlemessage(activitythread.java:1344) @ android.os.handler.dispatchmessage(handler.java:102) @ android.os.looper.loop(looper.java:148) @ android.app.activitythread.main(activitythread.java:5417) @ java.lang.reflect.method.invoke(native method) @ com.android.internal.os.zygoteinit$methodandargscaller.run(zygoteinit.java:726) @ com.android.internal.os.zygoteinit.main(zygoteinit.java:616) caused by: android.os.badparcelableexception: classnotfoundexception when unmarshalling: seed0004 @ android.os.parcel.readparcelablecreator(parcel.java:2432) @ android.os.parcel.readparcelable(parcel.java:2358) @ in.thoughtsmith.jink.institute.<init>(institute.java:45) @ in.thoughtsmith.jink.institute$1.createfromparcel(institute.java:55) @ in.thoughtsmith.jink.institute$1.createfromparcel(institute.java:52) @ android.os.parcel.readparcelable(parcel.java:2367) @ android.os.parcel.readvalue(parcel.java:2264) @ android.os.parcel.readarraymapinternal(parcel.java:2614) @ android.os.basebundle.unparcel(basebundle.java:221) @ android.os.bundle.getparcelable(bundle.java:786) @ in.thoughtsmith.jink.institutedetails.oncreate(institutedetails.kt:34) @ android.app.activity.performcreate(activity.java:6285) @ android.app.instrumentation.callactivityoncreate(instrumentation.java:1108) @ android.app.activitythread.performlaunchactivity(activitythread.java:2369) @ android.app.activitythread.handlelaunchactivity(activitythread.java:2476) @ android.app.activitythread.access$900(activitythread.java:150) @ android.app.activitythread$h.handlemessage(activitythread.java:1344) @ android.os.handler.dispatchmessage(handler.java:102) @ android.os.looper.loop(looper.java:148) @ android.app.activitythread.main(activitythread.java:5417) @ java.lang.reflect.method.invoke(native method) @ com.android.internal.os.zygoteinit$methodandargscaller.run(zygoteinit.java:726) @ com.android.internal.os.zygoteinit.main(zygoteinit.java:616) please me how can send class contains latlng activity. , please let me know there better way achieve same
you need extract latitude , longitude latlng
double lat = latlng.latitude; double lng = latlng.longitude; then can add easely parcelable
Comments
Post a Comment