java - 如何在Android上将对象从一个 Activity 传递到另一个 Activity

标签 java android object android-intent android-activity

我正在尝试从一个 Activity 发送我的 customer 类的对象并将其显示在另一个 Activity 中。

客户类的代码:

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;
    }
}

我想将它的对象从一个 Activity 发送到另一个,然后在另一个 Activity 上显示数据。

我怎样才能做到这一点?

最佳答案

一种选择可能是让您的自定义类实现 Serializable 接口(interface),然后您可以使用 putExtra(Serializable..) 变体在 Intent extra 中传递对象实例Intent#putExtra() 方法。

实际代码:

在您的自定义模型/对象类中:

public class YourClass implements Serializable {

在使用自定义模型/类的其他类:

//To pass:
intent.putExtra("KEY_NAME", myObject);

myObject 的类型为“YourClass”。 然后从另一个 Activity 中检索,使用 getSerializableExtra 使用相同的键名获取对象。并且需要对 YourClass 进行类型转换:

// To retrieve object in second Activity
myObject = (YourClass) getIntent().getSerializableExtra("KEY_NAME");

注意:确保您的主自定义类的每个嵌套类都实现了 Serializable 接口(interface),以避免任何序列化异常。例如:

class MainClass implements Serializable {
    
    public MainClass() {}

    public static class ChildClass implements Serializable {
         
        public ChildClass() {}
    }
}

关于java - 如何在Android上将对象从一个 Activity 传递到另一个 Activity ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2736389/

相关文章:

C++:有很多对象

java - 检查 boolean 数组是否包含 true 的最快方法

java - 比较两个不同创建的 BigDecimal

android - 如何在兼容库下的ListFragment中更改ProgressBar样式?

android - 我如何对房间数据库android中的值求和

javascript - 创建类的函数

Java Web应用程序需要刷新到 "see"资源文件

java - 尝试使用另一个类的变量

android - 无法为 com.google.android.gms.tasks.OnSuccessListener 添加依赖项

new Object([])/new Object(new Array()) 的 JavaScript 构造函数