سلام خدمت همه ی عزیزان سایت کد ایت ، با بخشی دیگر از آموزش کاتلین در خدمت شما عزیزان می باشیم . امروز قصد داریم مبحث لیست ویو در کاتلین را برای شما عزیزان آموزش دهیم .
لیست ویو در کاتلین چیست و چه کاربردی دارد؟
list view یک ViewGroup ایی هست که برای نمایش لیست آیتم ها در چندین ردیف مورد استفاده قرار می گیرد . لیست ویو در کاتلین دارای یک Adapter می باشد که به صورت خودکار داده ها را در لیست ما قرار می دهند . Adapter داده های که در پایگاه داده ها و یا آرایه ها وجود دارند را واکشی میکند . و در داخل یک لیست قرار می دهد . string.xml منبع اصلی استخراج داده ها می باشد . ما برای این که آیتم های خودمون رو داخل یک لیست نمایش دهیم از list view استفاده می کنیم.

کار با لیست ویو در کاتلین
انواع Adapter های مورد استفاده در list view
ArrayAdapter: یک آرایه یا لیست را به عنوان ورودیاز ما می گیرد. و اینکه ما میتوانیم موارد موجود در لیست را داخل یک فایل string.xml ذخیره کنیم .
CursorAdapter: همیشه یک نمونه از مکان نما را به عنوان وسیله ورودی می پذیرد.
SimpleAdapter: مقداری ثابت را به عنوان ورودی می گیرد .
BaseAdapter: یک پیاده سازی عمومی برای هر سه نوع آداپتور است .
در اینجا ما قصد داریم تا با یک پروژه خیلی کوچیک نحوی ساخت یک لیست ویو در کاتلین را خدمت شما عزیزان آموزش دهیم . اول بریم سراغ لایه XML خودمون و یک list view در آن ایجاد کنیم . نمونه کد این قسمت مانند زیر می باشد .
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" tools:context=".listview"> <ListView android:id="@+id/mylist" android:layout_width="match_parent" android:layout_height="wrap_content" > </ListView> </LinearLayout>
بریم سراغ قسمت اکتیویتی خودمون و کد های این بخش نیز مانند زیر می باشد. ما در این قسمت یک ArrayAdapter تعریف کردیم . و یک آرایه از اسامی رو نیز ایجاد کردیم که قصد داریم آن ها را نمایش دهیم .
package com.example.retrofit import androidx.appcompat.app.AppCompatActivity import android.os.Bundle import android.widget.ArrayAdapter import android.widget.ListView class listview : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_listview) // use arrayadapter and define an array val arrayAdapter: ArrayAdapter<*> val users = arrayOf( "ali", "reza", "farshid", "ehsan", "milad" ) var mylist = findViewById<ListView>(R.id.mylist) arrayAdapter = ArrayAdapter(this, android.R.layout.simple_list_item_1, users) mylist.adapter = arrayAdapter } }
و در پایان خروجی ما به صورت زیر می باشد .
موفق باشین و شاد .
دیدگاهتان را بنویسید