ListView personalizado de Android + interacción del usuario con Dengan Kotlin | de Muhammad Rosyid Izzulkhaq | Octubre de 2020

Descargar laboratorio de materiales

Untuk memulai, anda bisa mendownload project yang sudah saya siapkan pada link berikut ini:

Descargar Material Lab

Catatan: Tutorial ini akan lebih mudah dipahami apabila dipraktikkan secara langsung menggunakan material diatas.

Proyecto Membuka

Haya kemudianaYla versión de android studio 4.1 atau versión the yang life. Diálogo Tampilan Bienvenido a Android Studio, por favor añadir Abra un proyecto existente.

Bienvenido al cuadro de diálogo de Android Studio

Si el cuadro de diálogo no es válido, agregue el administrador / carpeta del proyecto a la descarga y luego haga clic en Aceptar.

Adicción a Menambah

Archivo buka build.gradle (Módulo Pilih yang)

Lalu, tambahkan baris script berikut ke dalam blok dependencias {…}

Glide adalah Library de código abierto Android yang populer a la memoria, video, animación GIF. Dengan Glide, donde desea acceder a los medios desde el número de personas, el servidor ahora está ejecutando un sistema de archivos locales.

Kemudian, sinkronisasikan projektnya dengan menekan sincronizar ahora donde encuentras la siguiente información:

Tunggu prosa sinkronisasi gradle sampai selesai.

Fuente de datos Proyección de Setelah sudah siap, hal pertama yang harus dipersiapkan adalah (Sumar datos). Paquete Pada Clase Buatlah Kotlin lab.rosyidiz.customlistview.data Dengan Nama MataKuliah, lalu ubah clase tersebut menjadi clase de datos siempre lee:

Clase de datos para MataKuliah

Clase de datos clase merupakan khusus yang digunakan para obtener datos de menampung. Pada Kotlin, clase de datos ditandai dengan datos de palabras clave.

Clase de datos Setelah selesai membuat, objeto de archivo de haya DataMataKuliah.kt caída del paquete datos, En este caso, es posible ingresar a la barra con la siguiente información:

Membuat ArrayList para obtener una lista de nombres

Pada tahap ini kita telah selesai menyiapkan datový zdroj, kita sudah siap do melanjutkan tutorial ke tahap berikutnya.

El lenguaje de la reunión es bueno. Vista de la lista diseño para las damas Actividad principal. Archivo buka activity_main.xml, No he podido hacer una llamada para una etiqueta Disposición lineal.

Lista de MenambahkanVer al diseño

Kemudian, clase de haya Actividad principal, código de barras lalu tambahkan unuk membuat variabel baru:

Lista de variables de etiqueta MembuatView

Metoda Tambahkan juga baris kode berikut ini kedalam onCreate ():

ListlistView de variables inicializadas

Si te gusta esto, tendrás un diseño que te tendrá ya que ListView será muy bueno. Diseño de Berikut adalah yang akan kita buat:

Diseño de tampilan yang akan dibuat.

Buatlah set dengan nama Elemento en linea di / res / layout /, ubah kode pada diseño tersebut menjadi seperti berikut:

Clase buatlah dengan nama MatkulAdapter di paquete lab.rosyidiz.customlistview.ui.list, lalu ubah clase tersebut menjadi seperti berikut:

Adaptador Kita telah membuat kerangka yang meng-extiende clase BaseAdapter (). El método Kita se utiliza para implementar la implementación de la clase Tersebut. En el mismo caso, es necesario hacerse un nombre lo antes posible:

Disini, kita telah selesai menambahkan diseñador dan juga variabel yang digunakan hasta menghubungkan design dengan adapter.

Para la aplicación se utilizará el adaptador del método Langkah, se especificará lo siguiente:

Consejos: gunakan fitur Quick Fixes dari android studio withoutuk memudahkan dalam pengkodean.

Código predeterminado:

  1. método getCount (): Listung agar ListView mengatahui berapa banyak item yang ditampilkan, atau dengan kata lain, method ini mengembalikan nilai banyaknya dari fuente de datos (datos sobre números).
  2. método obtiene el objeto (): metodii mengembalikan Objek dari zdroj dat dengan posisi tertentu.
  3. método getItemId (): en el identificador mendefinisikan dari tiap baris yang ada pada ListView. Agar mudah, kita gunakan posisi sebagai ID-nya.
  4. Terakhir, método getView (): método en la memoria del tampilan yang akan kita gunakan sebagai baris pada ListView. El método Dalam no contiene información sobre la información proporcionada por el fabricante. Hay una lista de diseños XML para XML, y esta es la mejor manera de /res/layout/row_item.xml

Yang harus kita lakukan sekarang adalah mengatur diseño baris pada ListView agar dapat memuat datos yang berasal dari datový zdroj kita.

El método de Didalam getView () en este caso, el código será:

El código debe medirse de la misma manera que el diseño de la barra.

En este caso, es necesario proporcionar la información relevante sobre los datos relevantes. En este caso, es posible utilizar el siguiente código:

Código predeterminado:

  1. Baris ke-3: datos de mengambil yang sesuai dengan posisinya,
  2. Baris ke-5: Memanfaatkan Library Glide para una mejor visión general del juego de elementos gambarIcon,
  3. Bar ke-11 dan 12: memperbarui teks yang ditampilkan dilayout baris sehingga menampilkan data mata kuliah.

Adaptador Sebelum kita mengubah dari ListView, zdroj dat kita panggil terlebih dahulu yang sudah kita buat. Clase de buka Actividad principal, sino también el siguiente código:

Membuat variabel unuk menampung date mata kuliah

Metoda Tambahkan juga kode berikut ke dalam onCreated ():

Por ejemplo, los datos de la fuente de datos a variabel matkulList

Setelah selesai menambahkan code diatas, kita dapat melanjutkan untuk mengatur adapter dari ListView kita, kita dapat mengatur adapternya dengan menambahkan potongan kode berikut di Actividad principal, este código es el siguiente:

Sekarang, apabila kita jalankan aplikasinya, maka kita akan melihat bahwa tampilan dari ListView sudah berubah, sesuai dengan datový zdroj yang ada.

Tetapi, apabila kita tekan elemento-elemento yang ada pada ListView tersebut, maka tidak akan terjadi apa-apa. Tentu saja, karena kita belum mengatur bagaimana interaksi dari uživatel terhadap ListView yang kita buat. De esta forma, a otros les resulta muy difícil cuidarlo.

Una foto de Rob Hampson en Unsplash

Si meningkatkan pengalaman pengguna, kita bisa menambahkan beberapa kode agar usuario ketek menekan salah satu baris pada ListView tersebut, maka akan menampilkan detalle dari Mata Kuliah tersebut.

Diseñe este método usando el método onClickItemListener (), dan teknik transferencia de datos intención menggunakan.

Actividad de barra de buat

Actividad en akan ditampilkan ketika usuario menekan salah satu elemento pada ListView.

Paquete de barra de actividades vacía Buat Pada lab.rosyidiz.customlistview.ui.detail, isikan nombre de actividad menjadi DetailActivityy, en el caso de un tercer país, este último u otro Estado miembro,

Hacer clic Completar.

Menambah Tombol Kembali di ActionBar

Libro AndroidManifest.xml distribuidor / aplicaciones / manifiestos / , etiqueta de lalu cari atributo dengan android: nombre = ”. ui.detail.DetailActivity ”, en este caso, se indican las siguientes condiciones:

Detalle del diseño de Mengubah Tampilan

Libro /res/layout/activity_detail.xml , diseño de lalu ubah tampilannya menjadi seperti berikut ini:

Puede agregar un código de diseño de tampilan a su teléfono:

Membuat Fungsi Static para Membuat Intent Bar

Clase de buka DetailActivity, se agrega el siguiente código:

Di Kotlin, apabila kita ingin menulis sebuah fungsi atau člen variabel di di třídy suatu agar bisa dipanggil tanpa melalui sebuah objek, kita bisa melakukannya dengan menulis člen atau fungs tersebut di dalam objeto acompañante clase suatu.

Hongos newIntent () para ingresar a la memoria de DetailActivity, esta es la misma que la fecha de los datos externos.

Menambah Aksi pada ListView Agar Dapat Ditekan

Kembali ke Actividad principal, lalu tambahkan kode berikut ke bagian método pálido bawah dari onCreate ():

Catatansebelum kita mendalami penjelasan kodenya, pastikan anda paham tentang empat argumen yang disediakan oleh onItemClickListener (), empat argumen tersebut adalah:
Primer padre: tampilan tempat ketika aksi click / pemilihan terjadi, dalam kasus ini, itu parent tersebut adalah ListView.
Segunda vista: Tampilan yang diclick (baris) dalam ListView.
3er puesto: adaptador posis baris di.
4. carné de identidad: id baris dari item yang diclick.

Hay mucho dinero setOnClickListener (), ¿tienes derecho a hacer un bloqueo? Por favor especifica:

  • Datos mata kuliah yang berada pada posisi baris tersebut akan ditampung ke variabel seleccionadoMatkul
  • Hongos newIntent () clase yang ada pada DetailActivity dipanggil, dan kemudian nilai yang dikembalikan oleh fungsi tersebut akan ditampung ke variabel detalle
  • Dan terakhir, actividad memulai DetailActivity yang telah ditentukan oleh detalle sebelumnya.

Sekarang, coba kita jalankan aplikasinya, apakah sudah benar, atau masih ada error di kodingan yang kita buat.

Apakah hasil ejecutando ditempat kalian juga sama seperti itu? Kalo tidak, berarti ada beberapa kode yang terlewati / Chyba ditempat kalian. Coba cek kembali lagi langkah-langkah diatas 😅

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *