我正在使用Retrofit来显示图像列表,我正在使用List来显示工作正常的图像。但现在问题是我要显示同一模型类的名称和年龄。
我的问题是我想使用另一个列表在同一个适配器中显示名称和年龄,并设置为相同的Recyclerview。这可能吗?
public class MyAdapter extends RecyclerView.Adapter<MyAdapter.VideoInfoHolder> {
private Context context;
private List<String> imgList= Collections.emptyList();
private ArrayList<MyModel> myModel;
public MyAdapter(Context context) {
this.context = context;
}
@Override
public VideoInfoHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View itemView = LayoutInflater.from(parent.getContext()).inflate(R.layout.image_view, parent, false);
return new VideoInfoHolder(itemView);
}
@Override
public void onBindViewHolder(final VideoInfoHolder holder, final int position) {
Picasso.with(this).load(imgList.getImage()).into(new Target() {
@Override
public void onBitmapLoaded(Bitmap bitmap, Picasso.LoadedFrom from) {
//do what ever you want with your bitmap
imgView.setImageBitmap(loadedImage);///imgView is use to set the image in it
}
@Override
public void onBitmapFailed(Drawable errorDrawable) {
}
@Override
public void onPrepareLoad(Drawable placeHolderDrawable) {
}
});
myModel= new ArrayList<>();
for (int i = 0; i < myModel.size(); i++) {
holder.tvName.setText(myModel.get(i).getName());
holder.tvAge.setText(myModel.get(position).getAge());
}
}
@Override
public int getItemCount() {
return imgList.size();
}
public class MyInfoHolder extends RecyclerView.ViewHolder implements View.OnClickListener {
public AppCompatImageView imgView;
public AppCompatTextView tvName, tvAgee;
public VideoInfoHolder(View itemView) {
super(itemView);
tvName = (AppCompatTextView) itemView.findViewById(R.id.tv_name);
tvAge = (AppCompatTextView) itemView.findViewById(R.id.tv_age);
}
}
public void notifyDataChange(List<String> myList) {
if (!imgList.isEmpty()) {
imgList.clear();
}
imgList= myList;
notifyDataSetChanged();
}
}
答案 0 :(得分:0)
您应该使用图像名称和年龄创建自己的模型。之后,首先解析只需设置图像并在适配器中使用。在第二次使用同一适配器模型中的名称和年龄。在最后一个通知适配器。
感谢。