0

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.

Mark Rotteveel
  • 100,966
  • 191
  • 140
  • 197

1 Answers1

0

I believe this will solve your problem.

 public AirlinesListFragment() {
    airlines = new ArrayList<>();

  } 

check out this page for the solution : Can't get Action Bar in fragment class

Irfan Nasim
  • 1,952
  • 2
  • 19
  • 29
  • I am sorry sir but this did not solved my error. this Gave me an Error "xpected BEGIN_ARRAY but was BEGIN_OBJECT at line 1 column 2 path $" – Barry Allen Dec 08 '20 at 14:06