Вы можете создать интерфейс Product
, где каждый класс Potato
, Banana
и Milk
будет реализовывать этот интерфейс, поэтому ваш адаптер будет содержать список Products
.
Если все элементы будут представлены одинаково (например, имя + изображение) - добавьте эти свойства в интерфейс, и все будет легко.
Если вам нужно обрабатывать каждый класс по-разному (например, вам нужно указать c свойство, которым обладает только класс Milk
), вы можете проверить, какой класс является вашим текущим продуктом, с помощью метода onBindViewHolder
следующим образом:
@Override
public void onBindViewHolder(@NonNull RecyclerView.ViewHolder holder, int position) {
Product currentProduct = productLst.get(position);
if (currentProduct instanceof Banana) {
// this is a banana
} else if (currentProduct instanceof Milk){
// this is milk
} else if (currentProduct instanceof Potato){
// this is Potato
}
}