Back to questions
OZON
Junior — Middle
61
Какова роль адаптера в компоненте RecyclerView и какие задачи он решает?
Companies where asked
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);
}
}
}