Sobes.tech
Junior — Middle

Оё таҷрибаи истифодаи компонент RecyclerView дар Android доред?

sobes.tech AI

Ҷавоб аз AI

Баъзе, компонент RecyclerView дар Android барои намоиши самараноки рӯйхатҳо ё маҷмӯаҳои маълумот бо имконияти такрорӣ истифода мешавад.

Мавзӯъҳои асосӣ:

  • RecyclerView бо адаптер кор мекунад, ки маълумотҳоро бо унсурҳои рӯйхат пайваст мекунад.
  • Ворид кардани ViewHolder барои оптимизатсияи иҷроиш, кам кардани даъватҳо ба findViewById.
  • Имкон медиҳад ба осонӣ татбиқ кардани намудҳои гуногуни тарҳ (рӯйхати хаттӣ, шабака ва ғайра) тавассути LayoutManager.

Масалан, адаптери оддӣ:

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

    public static class ViewHolder extends RecyclerView.ViewHolder {
        TextView textView;
        public ViewHolder(View v) {
            super(v);
            textView = v.findViewById(R.id.textView);
        }
    }

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

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

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

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