【问题标题】:How to add data to different model class android如何将数据添加到不同的模型类android
【发布时间】:2017-11-20 04:23:04
【问题描述】:

我是 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. 在需要时将数据添加到任一列表中。
  • 使用 dataDetailbeans.addAll(databeans) 将列表 'databeans' 中的所有条目添加到 'dataDetailbeans' 中。
  • @PrakhaRaM 使用 dataDetailbeans.addAll(databeans) 将列表 'databeans' 中的所有条目添加到 'dataDetailbeans' >>> 不能使用它
  • 删除任何一个模型,使用任何一个模型,两者相同,只是名称不同

标签: java android arraylist


【解决方案1】:

你好,像这样改变你的模型类(使用起来很简单)

--> 电话型号

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

}

--> TelephoneDetailModel

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

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

【讨论】:

    【解决方案2】:
    • 试试这个
    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,我必须写所有这些吗?天哪
    【解决方案3】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-09-03
      • 2022-01-11
      • 2011-08-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多