I decided to dig into RecyclerView, everything seems to be fine, but for some reason, when the onBindViewHolder () method is overloaded, ide swears on the myViewHolder holder parameter, it wants me to use RecyclerView.ViewHolder. At the same time, when the onCreateViewHolder () method is overloaded, there are no problems.
Here is the code itself:
public class RegionAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder>{ public List<Region> regions; public RegionAdapter(List<Region> regions){ this.regions = regions; } class MyViewHolder extends RecyclerView.ViewHolder{ private TextView name; public MyViewHolder(View itemView) { super(itemView); name = (TextView) itemView.findViewById(R.id.cityRecyclerViewItemName); } } @Override public MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { return new MyViewHolder(LayoutInflater.from(parent.getContext()). inflate(R.layout.region_recyclerview_item, parent, false)); } @Override public void onBindViewHolder(MyViewHolder holder, int position){ holder.name.setText(regions.get(position).getName()); } @Override public int getItemCount() { return regions.size(); } }