如何基于另一个JsonArray响应中收到的响应在循环中发出Android Volley请求

时间:2018-11-19 03:42:34

标签: java android

我正在使用齐射发出JsonArray请求,然后在recyclerview中显示数据。我在这里要做的是多次(循环)调用另一个Web服务,并从上一个Web服务调用中获取特定属性的值。 例如:如果我有这样的Web服务响应:

port

然后,我需要获取[ { "RollNo": 7000026, "DOB": "18-11-21", "Mobile": null, "Name": "Richard John", "Class": "6", "Section": "A", }, { "RollNo": "7000057", "DOB": "18-11-22", "Mobile": null, "Name": "Sam Jonas", "Class": "6", "Section": "A" } ] 的值并将其传递给另一个提供学生照片的Web服务,在这种情况下,我必须两次调用Student Image Web服务。然后,一旦获取了所有数据和图像,我就必须在回收者视图中显示数据。我不明白如何在我的代码中编写该逻辑。感谢任何帮助。

用于Web服务调用和响应解析的当前Java代码:

RollNo

1 个答案:

答案 0 :(得分:0)

借助图像加载库,您可以在RecyclerAdapter内部重写onBindViewHolder来调用第二个Web服务。例如,您可以使用Glide库加载图像。 我假设您使用get方法调用第二个Web服务,并通过RollNo获取每张图片。

@Override 
public void onBindViewHolder(ViewHolder holder, int position) {
String roleNumber = StudentData.get(position).GetName;
if (roleNumber  != null) {


 GlideApp.with(context)
.load("http://via.placeholder.com/roleNumber")
.override(100, 200) 
.fitCenter() // scale to fit entire image within ImageView
.into(ivImg);
   } else {
    // make sure Glide doesn't load anything into this view 

    Glide.clear(holder.imageView);
    // remove the placeholder (optional); read comments below
    holder.imageView.setImageDrawable(null);
  }

}