为了账号安全,请及时绑定邮箱和手机立即绑定

将对象添加到 ArrayList 将对象值设置为 null

将对象添加到 ArrayList 将对象值设置为 null

慕标5832272 2022-06-30 17:54:10
我有一个改造请求,它从我的 API 请求 GroupAccount 对象列表。API 毫无问题地返回所有值,因此我尝试循环访问我的活动中的响应,它可以完美地检索值,但是一旦我调用//groupAccounts is my list, declared and initialised globally, groupAccount is the object I create at the end of each iterationgroupAccounts.add(groupAccount);它将所有 groupAccount 对象值设置为 null。为什么会这样?GroupAccount 模型类中的构造函数:public GroupAccount(long groupAccountId,                  long adminId,                  String accountName,                  String accountDescription,                  int numberOfMembers,                  BigDecimal totalAmountPaid,                  BigDecimal totalAmountOwed,                  int testResourceId) {}带有 onResponse & onFailure 的请求方法:public void getUserAssociatedAccounts(String userId){Call<List<GroupAccount>> call = apiInterface.getUserAssociatedAccounts(userId);call.enqueue(new Callback<List<GroupAccount>>() {  @Override  public void onResponse(Call<List<GroupAccount>> call, Response<List<GroupAccount>> response) {    if(!response.isSuccessful()) {      //Handle    } else {      if(response.body().size() > 0){        for(int i=0; i<response.body().size(); i++) {          //This is just for clarity          long groupAccountId = response.body().get(i).getGroupAccountId();          long adminId = response.body().get(i).getAdminId();          String accountName = response.body().get(i).getAccountName();          String accountDescription = response.body().get(i).getAccountDescription();          int numberOfMembers = response.body().get(i).getNumberOfMembers();          BigDecimal amountPaid = response.body().get(i).getTotalAmountPaid();          BigDecimal amountOwed = response.body().get(i).getTotalAmountOwed();          int testRes = R.drawable.human_photo;
查看完整描述

1 回答

?
动漫人物

TA贡献1815条经验 获得超10个赞

您尚未在构造函数中设置对象


您的代码:


public GroupAccount(long groupAccountId,

                  long adminId,

                  String accountName,

                  String accountDescription,

                  int numberOfMembers,

                  BigDecimal totalAmountPaid,

                  BigDecimal totalAmountOwed,

                  int testResourceId) {


}

正确的构造函数:


public GroupAccount(long groupAccountId,

                  long adminId,

                  String accountName,

                  String accountDescription,

                  int numberOfMembers,

                  BigDecimal totalAmountPaid,

                  BigDecimal totalAmountOwed,

                  int testResourceId) {


this.groupAccountId = groupAccountId;

this.adminId = adminId;

this.accountName = accountName;

this.accountDescription = accountDescription;

this.numberOfMembers = numberOfMembers;

this.totalAmountPaid = totalAmountPaid;

this.totalAmountOwed = totalAmountOwed;

this.testResourceId = testResourceId; 

}


查看完整回答
反对 回复 2022-06-30
  • 1 回答
  • 0 关注
  • 154 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信