如何将数据添加到不同的Android模型类中

3

我是一名 Android 编程新手,今天想要将数据添加到另一个模型类中。

而在另一个模型类中,使用的是同一种模型。

但我不知道该如何添加。

以下是示例:

我的第一个模型:

public class TelephoneModel {
 private List<DataBean> data;
 public List<DataBean> getData() {
        return data;
    }

    public void setData(List<DataBean> data) {
        this.data = data;
    }

    public static class DataBean {
        private String id;
        private String name;

 public String getId() {
            return id;
        }

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

public String getName() {
            return name;
        }

        public void setName(String name) {
            this.name = name;
        }
}

以及我的第二个模型

public class TelephoneDetailModel {
private List<DataBean> data;
  public List<DataBean> getData() {
        return data;
    }

    public void setData(List<DataBean> data) {
        this.data = data;
    }

    public static class DataBean {
  private String id;
        private String name;

 public String getId() {
            return id;
        }

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

        public String getName() {
            return name;
        }

        public void setName(String name) {
            this.name = name;
        }
}
}

我有数据在

List<TelephoneModel.DataBean> databeans = new ArrayList<>;
List<TelephoneDetailModel.DataBean> dataDetailbeans = new ArrayList<>;

我想将数据databeans添加到dataDetailbeans中。

请给我一个示例,说明如何添加它。

谢谢!


  1. 删除其中一个'TelephoneModel'或'TelephoneDetailModel'。
  2. 在需要时向任何一个列表中添加数据。
- Prakhar Kulshreshtha
使用 dataDetailbeans.addAll(databeans) 将列表 'databeans' 中的所有条目添加到 'dataDetailbeans'。 - Prakhar Kulshreshtha
@PrakhaRaM 请使用dataDetailbeans.addAll(databeans)将列表“databeans”的所有条目添加到“dataDetailbeans”中 >>> 无法使用 - fongfuse
删除任何一个模型,使用任何一个模型,两者都是相同的,只是名称不同。 - Prakhar Kulshreshtha
3个回答

4

你好,将你的模型类更改为以下内容(使用起来非常简单)

--> TelephoneModel

public class TelephoneModel {

private String id;
private String name;

public TelephoneModel(String id,String name) {
    this.id=id;
    this.name=name;
}

public String getId() {
    return id;
}

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

public String getName() {
    return name;
}

public void setName(String name) {
    this.name = name;
}

}

--> 电话详细信息模型

public class TelephoneDetailModel {

public TelephoneDetailModel(String id, String name) {
    this.id = id;
    this.name = name;
}

private String id;
private String name;

public String getId() {
    return id;
}

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

public String getName() {
    return name;
}

public void setName(String name) {
    this.name = name;
}

--> 您的活动

ArrayList<TelephoneModel> databeans = new ArrayList<>();
    ArrayList<TelephoneDetailModel> dataDetailBeans = new ArrayList<>();

    // add data into databean

    databeans.add(new TelephoneModel("id-1", "name-1"));
    databeans.add(new TelephoneModel("id-2", "name-2"));

    // now add data databeans to dataDetailbeans

    for (int i = 0; i < databeans.size(); i++) {
        dataDetailBeans.add(new TelephoneDetailModel(databeans.get(i)
                .getId(), databeans.get(i).getName()));
    }

如果有任何问题,请随时问我...

3
  • 试一下这个

List<TelephoneDetailModel.DataBean> databeans = new ArrayList();

        TelephoneDetailModel.DataBean dataBean = new TelephoneDetailModel.DataBean();
        dataBean.setId("1");
        dataBean.setName("PREM");
        databeans.add(dataBean);


        TelephoneDetailModel.DataBean model1 = new TelephoneDetailModel.DataBean();
        model1.setId("2");
        model1.setName("PREM2");
        databeans.add(model1);


        TelephoneDetailModel.DataBean model2 = new TelephoneDetailModel.DataBean();
        model2.setId("3");
        model2.setName("PREM3");
        databeans.add(model2);


        TelephoneDetailModel.DataBean model3 = new TelephoneDetailModel.DataBean();
        model3.setId("4");
        model3.setName("PREM4");
        databeans.add(model3);


        for (int i = 0; i < databeans.size(); i++) {

            Log.e("ID", databeans.get(i).getId());
            Log.e("NAME", databeans.get(i).getName());
        }

输出

com.example.user33.demoapplication E/ID: 1
com.example.user33.demoapplication E/NAME: PREM
com.example.user33.demoapplication E/ID: 2
com.example.user33.demoapplication E/NAME: PREM2
com.example.user33.demoapplication E/ID: 3
com.example.user33.demoapplication E/NAME: PREM3
com.example.user33.demoapplication E/ID: 4
com.example.user33.demoapplication E/NAME: PREM4
  • 试试这个
public class TelephoneDetailModel {

    private List<DataBean> data;

    public List<DataBean> getData() {
        return data;
    }

    public void setData(List<DataBean> data) {
        this.data = data;
    }

    public static class DataBean {
        private String id;
        private String name;

        public DataBean() {

        }

        public DataBean(String id, String name) {
            this.id = id;
            this.name = name;
        }

        public String getId() {
            return id;
        }

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

        public String getName() {
            return name;
        }

        public void setName(String name) {
            this.name = name;
        }
    }
}

现在要向您的arraylist中添加数据,请尝试以下操作。
List<TelephoneDetailModel.DataBean> databeans = new ArrayList();
databeans.add(new TelephoneDetailModel.DataBean("6","NEW NAME"));

谢谢!如果我的数据大小大于1,我必须全部写吗?天哪 - fongfuse

1

TelephoneModel类和TelephoneDetailModel中的DataBean是不同的,您不能将DataBean添加到另一个列表中。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接