package com.example.listviewimages; import android.app.Activity; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.ArrayAdapter; import android.widget.ImageView; import android.widget.TextView; import java.util.ArrayList; public class DessertAdapter extends ArrayAdapter { public DessertAdapter(Activity context, ArrayList desserts) { super(context, 0, desserts); } @Override public View getView(int position, View convertView, ViewGroup parent) { // Check if the existing view is being reused, otherwise inflate the view View listItemView = convertView; if(listItemView == null) { listItemView = LayoutInflater.from(getContext()).inflate( R.layout.list_item, parent, false); } Dessert currentDesert = getItem(position); TextView nameTextView = listItemView.findViewById(R.id.dessert_name); nameTextView.setText(currentDesert.getDessertName()); TextView numberTextView = listItemView.findViewById(R.id.dessert_number); numberTextView.setText(String.valueOf(currentDesert.getDessertNumber())); ImageView iconView = listItemView.findViewById(R.id.list_item_icon); iconView.setImageResource(currentDesert.getImageResourceId()); return listItemView; } }