如何在模型上包含列表?

时间:2019-05-02 03:31:51

标签: java android arraylist

因此,我目前有一个员工模型,我想添加一些类似员工“职位”或职位的列表。我一直在寻找方法,但似乎并没有一种很好的方法,这样我就可以通过Serializable Intent来传递Bundle模型。

这是我目前的模型。

public class EmployeeDetails implements Serializable {
    int id, status, roleType;
    String firstName, lastName, passcode, email;
    int[] assignedTables;

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }

    public int getRoleType() {
        return roleType;
    }

    public void setRoleType(int roleType) {
        this.roleType = roleType;
    }

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public int getStatus() {
        return status;
    }

    public void setStatus(int status) {
        this.status = status;
    }

    public String getFirstName() {
        return firstName;
    }

    public void setFirstName(String firstName) {
        this.firstName = firstName;
    }

    public String getLastName() {
        return lastName;
    }

    public void setLastName(String lastName) {
        this.lastName = lastName;
    }

    public String getPasscode() {
        return passcode;
    }

    public void setPasscode(String passcode) {
        this.passcode = passcode;
    }

    public int[] getAssignedTables() {
        return assignedTables;
    }

    public void setAssignedTables(int[] assignedTables) {
        this.assignedTables = assignedTables;
    }
}

建议的帖子是简单的Arraylist,我已经知道如何使用它。我想要的是传递包含Serializable的{​​{1}}。我想将ArrayList更改为int[]

3 个答案:

答案 0 :(得分:0)

ArrayList实现Serializable接口。这意味着,如果要将int []更改为ArrayList,则可以通过意图直接传递EmployeeDetails类。

class A implements Serializable {
    ArrayList<Integer>a= new ArrayList<Integer>();
}

发送只需:

 Bundle b = new Bundle();
 A a = new A();
 b.putSerializable("AA",a);
 Intent i = new Intent(Activity1.this, Activity2.class);
 i.putExtra("B",b);
 startActivity(i);

答案 1 :(得分:0)

  

我建议您使用Parcelable,而不要使用 Serializable   Parcelable比Serializable接口和Parcelable数组还要快   可以通过Android中的Intent传递。

请勿使用:int[] assignedTables; 使用:private ArrayList<Integer> assignedTables;

此外,实现Parcelable,实现Parcelable后,android将显示错误,只需按红色灯泡图标即可。按alt + Enter(windows),这将实现所需的方法。

查看this article,了解如何实现可包裹性

答案 2 :(得分:0)

这对我有用。 https://stackoverflow.com/a/47053183/10464730

我在ArrayList内创建了一个EmployeeDetails,其中将包含另一个实现Serializable的模型。