Sobes.tech
Junior — Middle

What is the role of an adapter in a RecyclerView component and what tasks does it solve?

sobes.tech AI

Answer from AI

The adapter in RecyclerView is responsible for creating and binding ViewHolders with data. It transforms a dataset into visual list elements, manages the creation of new items during scrolling, and reuses existing ones to optimize performance. The main tasks of the adapter:

  • Creating new ViewHolders as needed
  • Binding data to ViewHolders
  • Determining the number of items in the list

Example of a simple adapter:

public class MyAdapter extends RecyclerView.Adapter<MyAdapter.ViewHolder> {
    private List<String> data;

    public MyAdapter(List<String> data) {
        this.data = data;
    }

    @Override
    public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
        View view = LayoutInflater.from(parent.getContext())
            .inflate(android.R.layout.simple_list_item_1, parent, false);
        return new ViewHolder(view);
    }

    @Override
    public void onBindViewHolder(ViewHolder holder, int position) {
        holder.textView.setText(data.get(position));
    }

    @Override
    public int getItemCount() {
        return data.size();
    }

    static class ViewHolder extends RecyclerView.ViewHolder {
        TextView textView;

        ViewHolder(View itemView) {
            super(itemView);
            textView = itemView.findViewById(android.R.id.text1);
        }
    }
}
What is the role of an adapter in a RecyclerView… - sobes.tech