How to pass an object from one activity to another on Android
android, android-activity, android-intent, java, object
Solution
One option could be letting your custom class implement the `Serializable` interface and then you can pass object instances in the intent extra using the `putExtra(Serializable..)` variant of the `Intent#putExtra()` method.
Actual Code:
In Your Custom Model/Object Class:
public class YourClass implements Serializable {
At other class where using the Custom Model/Class:
//To pass:
intent.putExtra("KEY_NAME", myObject);
myObject is of type "YourClass". Then to retrieve from another activity, use getSerializableExtra get the object using same Key name. And typecast to YourClass is needed:
// To retrieve object in second Activity
myObject = (YourClass) getIntent().getSerializableExtra("KEY_NAME");
Note: Make sure each nested class of your main custom class has implemented Serializable interface to avoid any serialization exceptions. For example:
class MainClass implements Serializable {
public MainClass() {}
public static class ChildClass implements Serializable {
public ChildClass() {}
}
}
Problem
I am trying to work on sending an object of my customer class from one `Activity` and displaying it in another `Activity`. The code for the customer class: ``` public class Customer { private String firstName, lastName, address; int age; public Customer(String fname, String lname, int age, String address) { firstName = fname; lastName = lname; age = age; address = address; } public String printValues() { String data = null; data = "First Name :" + firstName + " Last Name :" + lastName + " Age : " + age + " Address : " + address; return data; } } ``` I want to send its object from one `Activity` to another and then display the data on the other `Activity`. How can I achieve that?