我正在使用齐射发出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
答案 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);
}
}