Tutorial Android : Membuat Dinamically EditText dengan RecyclerView #2
![]() |
Membuat Dinamically EditText dengan RecyclerView |
Tutorial Android : Dinamically EditText dengan RecyclerView #1
Part 1 kita sudah membuat layout, menyiapkan asset dan juga membuat struktur file. Selanjutnya kita akan menulis kode Kotlin dari file yang sudah dibuat pada tutorial sebelumnya.
Berikut langkah-langkah yang dapat kalian ikuti :
1. Buat Model
Model digunakan untuk layer atau sebagai object dari todo, buka file pada model > Todo.kt yang sudah kita buat sebelumnya. Untuk data classnya isikan seperti berikut :
2. Buat Interface
Selanjutnya buka file presentation > TodoUI, buat interface yang digunakan sebagai contract yang isinya method untuk menghandle menyimpan value dari EditText di RecyclerView, dan handle listener pada saat hapus berdasarkan todo yang dipilih.
Tulis kodenya seperti berikut :
3. Buat Adapter dan ViewHolder
Pada file presentation, terdapat file TodoAdapter dan TodoViewHolder, pertama buat adapternya terlebih dahulu yang kodenya seperti berikut :
Nah dari kode tersebut, adapter menggunakan mutable list dari Todo yang diambil dari model, nantinya akan digunakan untuk menyimpan value yang sudah di inputkan sehingga ketika todo ditambah, dihapus maupun discroll inputan yang sudah dimasukan tidak akan hilang. Jika tidak disimpan maka inputan akan hilang hal ini terjadi karena sifat RecyclerView yang recycle atau reusable.
Pada file adapter juga memanggil file ViewHolder dan melakukan binding data berdasarkan posisi dari adapternya. Dan adapter mengimplementasikan interface TodoSaved yang nantinya digunakan untuk menghandle ketika menyimpan value dari EditText, sedangkan penggunaan interface TodoListener digunakan untuk handle ketika click pada icon hapus.
Selanjutnya buka file TodoViewHolder dan tulis kode seperti berikut :
Pada view holder juga menggunakan 2 interface sebagai parameter, untuk event setOnClickListener maupun addTextChangeListener ditempatkan pada block init tujuannya adalah supaya tidak di bind sebanyak jumlah todo, penggunaan listener didalam bindTodo akan menambah listener pada semua todo, contoh jika ada 10 todo maka akan ada 10 listener yang dibuat, padahal seharusnya cukup 1 listener namun saat disimpan baru berdasarkan posisi todonya. Sehingga diharapkan dapat menghindari memori leaks.
Sebagai default saya buat untuk todo dengan posisi pertama maka icon tombol hapus dihilangkan. kodenya ada pada :
iconDeleteTodo.visibility = if (adapterPosition == 0) View.GONE else View.VISIBLE
Perlu diperhatikan bahwa listener didalam block init perlu dilakukan pengecekan posisi adapternya pada saat menyimpan value, maupun menghapus todo, hal ini dikarenakan recyclerview mempunyai posisi adapter yang berubah-ubah.
4. Buat Activity
Selanjutnya buka file presentation > MainActivity, disini kita akan menghubungkan antara activity, adapter dan modelnya. Tulis kodenya seperti berikut :
Pada kode tersebut, pada saat aplikasi dijalankan defaultnya menampilkan 1 todo. Dan setiap melakukan tambah todo, clear todo, maupun hapus per todonya selalu memanggil fungsi notifyDataSetChanged(), hal itu bertujuan untuk memberikan notifikasi atau memberitahu ke adapter untuk menyesuaikan posisinya dengan perubahan yang baru.
5. Cek Android Manifest
Yang terakhir adalah buka file manifest > AndroidManifest.xml, kemudian pada activity tambahkan
android:windowSoftInputMode="stateAlwaysHidden"Sehingga menjadi seperti berikut :
Setelah selesai, sekarang coba kita jalankan dan hasilnya adalah :
Sekian untuk tutorial membuat Dinamically EditText dengan RecyclerView, kalian dapat melihat repositorynya di github saya. Terima kasih
Baca juga :
Tutorial Android : Membuat Dinamically EditText dengan RecyclerView Part 1
Daftar 4 Framework Terbaik Membuat Mobile Apps
Belum ada Komentar untuk "Tutorial Android : Membuat Dinamically EditText dengan RecyclerView #2"
Posting Komentar