如何在参数中传递整个 id 列表?
How to pass the entire list of id in params?
我在此列表零售商对象中收到响应。
List<Retailers> retailers;
例如:retailers.getId()
returns 1,2,3,4,5,6,7,8
作为回应,这很好用。
现在我需要将其存储在另一个 List
中并将其传递给参数。但在所有情况下,只有第一个值 1
被存储。
下面是我的代码
List<RoutePlanDayRequests> routePlanDayRequests = new ArrayList<RoutePlanDayRequests>();
RoutePlanDayRequests requests = new RoutePlanDayRequests();
for(int i= 0; i<retailers.size();i++){ //retailers is already having datas.
Log.e("retailers",retailers.get(i).getId()); //here i am getting 1,2,3,4,5
requests.setPartnerId(retailers.get(i).getId());
routePlanDayRequests.add(requests); //but while storing i get only 1.
updateServiceList(AppUtils.getMsisdn(mSharedPreferences), routePlanDayRequests);
}
输出响应:
[{"Id":"1"},{"Id":"1"},{"Id:"1"},{"Id":"1},{"Id":"1"},{"Id":"1"},{"Id":"1"}]
相反,它应该获取所有元素(1,2,3,4,5
来自 retailers.getId
)并将其传递给参数。
有人知道为什么会这样吗?
您必须在循环中创建 RoutePlanDayRequests
并在结束时(循环外)将所有收集的数据发送到 updateService
List<RoutePlanDayRequests> routePlanDayRequests = new ArrayList<RoutePlanDayRequests>();
// you can use the simpler syntax of the for-loop
for(Retailer retailer : retailers) {
// create the requests object in the loop
RoutePlanDayRequests requests = new RoutePlanDayRequests();
Log.e("retailers",retailer.getId());
requests.setPartnerId(retailers.get(i).getId());
routePlanDayRequests.add(requests);
}
// call the service outside of the loop
updateServiceList(AppUtils.getMsisdn(mSharedPreferences), routePlanDayRequests);
}
我在此列表零售商对象中收到响应。
List<Retailers> retailers;
例如:retailers.getId()
returns 1,2,3,4,5,6,7,8
作为回应,这很好用。
现在我需要将其存储在另一个 List
中并将其传递给参数。但在所有情况下,只有第一个值 1
被存储。
下面是我的代码
List<RoutePlanDayRequests> routePlanDayRequests = new ArrayList<RoutePlanDayRequests>();
RoutePlanDayRequests requests = new RoutePlanDayRequests();
for(int i= 0; i<retailers.size();i++){ //retailers is already having datas.
Log.e("retailers",retailers.get(i).getId()); //here i am getting 1,2,3,4,5
requests.setPartnerId(retailers.get(i).getId());
routePlanDayRequests.add(requests); //but while storing i get only 1.
updateServiceList(AppUtils.getMsisdn(mSharedPreferences), routePlanDayRequests);
}
输出响应:
[{"Id":"1"},{"Id":"1"},{"Id:"1"},{"Id":"1},{"Id":"1"},{"Id":"1"},{"Id":"1"}]
相反,它应该获取所有元素(1,2,3,4,5
来自 retailers.getId
)并将其传递给参数。
有人知道为什么会这样吗?
您必须在循环中创建 RoutePlanDayRequests
并在结束时(循环外)将所有收集的数据发送到 updateService
List<RoutePlanDayRequests> routePlanDayRequests = new ArrayList<RoutePlanDayRequests>();
// you can use the simpler syntax of the for-loop
for(Retailer retailer : retailers) {
// create the requests object in the loop
RoutePlanDayRequests requests = new RoutePlanDayRequests();
Log.e("retailers",retailer.getId());
requests.setPartnerId(retailers.get(i).getId());
routePlanDayRequests.add(requests);
}
// call the service outside of the loop
updateServiceList(AppUtils.getMsisdn(mSharedPreferences), routePlanDayRequests);
}