Tutorial Android : Membuat Dinamically EditText dengan RecyclerView #2

Membuat Dinamically EditText dengan RecyclerView
Membuat Dinamically EditText dengan RecyclerView
Codingtive.com - Pada tutorial ini kita akan melanjutkan membuat dinamically EditText dan RecyclerView, bagi yang belum mengikuti di part 1 kalian dapat buka disini :
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

Berlangganan update artikel terbaru via email:

Belum ada Komentar untuk "Tutorial Android : Membuat Dinamically EditText dengan RecyclerView #2"

Posting Komentar

Iklan Atas Artikel

Iklan Tengah Artikel 1

Iklan Tengah Artikel 2

Iklan Bawah Artikel