I am trying to consume the Wikimedia Rest API to retrieve the "featured images" in android studio. The JSON file returns a List<Imageinfo>
, which contains different type of data. Here is the adapter I have made to fetch the data:
public class ItemTypeAdapter extends RecyclerView.Adapter<ItemTypeAdapter.ItemtypeViewHolder> {
private Context context;
private List<Imageinfo> dataretrivals;
public ItemTypeAdapter(Context context, List<Imageinfo> dataretrivals) {
this.context = context;
this.dataretrivals = dataretrivals;
}
@NonNull
@Override
public ItemtypeViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
LayoutInflater layoutInflater = LayoutInflater.from(parent.getContext());
View view = layoutInflater.inflate(R.layout.item_type1,parent,false);
return new ItemtypeViewHolder(view);
}
@SuppressLint("SetTextI18n")
@Override
public void onBindViewHolder(@NonNull ItemtypeViewHolder holder, int position) {
Imageinfo data = dataretrivals.get(position);
try{
holder.listView.addView((android.view.View) data.getQuery().getPages().get4406048().getImageinfo());
}
catch (NullPointerException ignored)
{
}
}
public int getItemCount() {
return dataretrivals.size();
}
public class ItemtypeViewHolder extends RecyclerView.ViewHolder
{
TextView title,description;
ImageView image;
ListView listView;
public ItemtypeViewHolder(@NonNull View itemView) {
super(itemView);
title = itemView.findViewById(R.id.imagetitle);
description = itemView.findViewById(R.id.imagediscription);
image = itemView.findViewById(R.id.imagetype1);
listView = itemView.findViewById(R.id.Listview);
}
}
}
this is generating the error
java.lang.ClassCastException:java.util.ArrayList cannot be cast to android.view.View
at com.example.heterogeneousrvdemo.Adapter.ItemTypeAdapter.onBindViewHolder(ItemTypeAdapter.java:42)
at com.example.heterogeneousrvdemo.Adapter.ItemTypeAdapter.onBindViewHolder(ItemTypeAdapter.java:20)
Please tell me how to retrieve and display the List<imageinfo>
type of data in Java.