thumbnail

RecyclerView adalah komponen antarmuka pengguna Android yang fleksibel dan efisien untuk menampilkan daftar data. RecyclerView menawarkan kemampuan untuk mengatur layout, menghandle scrolling, dan meningkatkan kinerja aplikasi.

Kelebihan RecyclerView

Fleksibilitas layout: Mendukung berbagai jenis layout (Linear, Grid, Staggered).

Efisiensi memori: Mengurangi konsumsi memori dengan meng-recycle view.

Kemampuan scrolling: Menghandle scrolling vertikal dan horizontal.

Dukungan animasi: Menyediakan animasi untuk memperkaya pengalaman pengguna.

Komponen RecyclerView

RecyclerView: Komponen utama untuk menampilkan daftar data.

Adapter: Mengatur data dan layout untuk RecyclerView.

ViewHolder: Mengatur tampilan dan interaksi untuk setiap item.

LayoutManager: Mengatur layout dan posisi item.

Langkah Menggunakan RecyclerView

Tambahkan dependensi RecyclerView di build.gradle.

Buat layout untuk item (misal, item.xml).

Buat adapter (misal, RecyclerViewAdapter.java).

Buat ViewHolder (misal, RecyclerViewHolder.java).

Konfigurasi RecyclerView di aktivitas (misal, MainActivity.java).

Contoh Kode

item.xml

<TextView
    android:id="@+id/nama"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content" />

<TextView
    android:id="@+id/deskripsi"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content" />

RecyclerViewAdapter.java

Public class RecyclerViewAdapter extends RecyclerView.Adapter {private List dataList;public RecyclerViewAdapter(List<Data> dataList) {this.dataList = dataList;}

@Override
Public RecyclerViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {View view =LayoutInflater.from(parent.getContext()).inflate(R.layout.item, parent, false);return new RecyclerViewHolder(view);}

@Override
Public void onBindViewHolder(RecyclerViewHolder holder, int position) {Data data =dataList.get(position); holder.nama.setText(data.getNama()); holder.deskripsi.setText(data.getDeskripsi());}

@Override
Public int getItemCount() {return dataList.size();}

RecyclerViewHolder.java

Public class RecyclerViewHolder extends RecyclerView.ViewHolder {
Public TextView nama, deskripsi;

Public RecyclerViewHolder(View itemView {super(itemView);nama=itemView.findViewById(R.id.nama);deskripsi = itemView.findViewById(R.id.deskripsi);}

MainActivity.java

Public class MainActivity extends AppCompatActivity {private RecyclerView recyclerView; private RecyclerViewAdapter adapter;

@Override
Protected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);

TecyclerView = findViewById(R.id.recyclerView);recyclerView.setLayoutManager(new LinearLayoutManager(this));

List<Data> dataList = new ArrayList<>();// Isi dataList dengan data

Adapter = new RecyclerViewAdapter(dataList);recyclerView.setAdapter(adapter);}

Sumber

Android Developers: (link unavailable)

Android Authority: (link unavailable)

W3Schools: (link unavailable)

Tips

Gunakan LayoutManager yang tepat untuk layout yang diinginkan.

Implementasikan metode onCreateViewHolder dan onBindViewHolder dengan benar.

Pastikan adapter dan data list sudah diinisialisasi sebelum mengatur RecyclerView.

What to read next