Sobes.tech
Back to questions
Junior — Middle
61

Какова роль адаптера в компоненте RecyclerView и какие задачи он решает?

Companies where asked
OZONOZON

Answer from AI

sobes.tech AI

Адаптер в RecyclerView отвечает за создание и связывание ViewHolder с данными. Он преобразует набор данных в визуальные элементы списка, управляет созданием новых элементов при прокрутке и переиспользованием существующих для оптимизации производительности. Основные задачи адаптера:

  • Создание новых ViewHolder при необходимости
  • Привязка данных к ViewHolder
  • Определение количества элементов в списке

Пример простого адаптера:

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);
        }
    }
}