Как включить список в модель?

Итак, в настоящее время у меня есть модель сотрудника, и я хочу включить что-то вроде списка «должности» или должности сотрудника. Я искал, как это сделать, но не нашел красивого способа передать модель Serializable через IntentBundle.

Это моя текущая модель.

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, который содержит ArrayList. Я хотел изменить это int[] на ArrayList.

Возможный дубликат Массив Список объектов через намерение

Morteza Jalambadani 02.05.2019 05:34

Пожалуйста, проверьте мое редактирование.

rminaj 02.05.2019 05:40
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
0
2
173
3
Перейти к ответу Данный вопрос помечен как решенный

Ответы 3

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

Я уже делаю это для EmployeeDetails и хочу знать, как иметь ArrayList или любой Hashmap внутри EmployeeDetails, который будет содержать должность или пост сотрудника.

rminaj 02.05.2019 06:21

Как я уже говорил, вам не нужно ничего делать. Класс A в моем примере выше также имеет массив Integer, и весь класс A сериализуем.

Jitendra A 02.05.2019 10:34

Ok. Я попробую это, когда у меня будет время. Спасибо

rminaj 03.05.2019 07:33

Instead of using Serializable I recommend using Parcelable because Parcelable is faster than Serializable interface also Parcelable array can be passed via Intent in android.

Не используйте: int[] assignedTables; использовать: private ArrayList<Integer> assignedTables;

Кроме того, внедрите Parcelable, и после внедрения Parcelable Android покажет ошибку, просто нажмите значок красной лампочки. нажмите alt + Enter (windows), и это реализует требуемый метод.

Прочтите статью эта статья о том, как вы можете реализовать посылки.

Ответ принят как подходящий

Это то, что сработало для меня. https://stackoverflow.com/a/47053183/10464730

Я создал ArrayList внутри EmployeeDetails, который будет содержать другую модель, которая также реализует Serializable.

Другие вопросы по теме