Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Android

การทำงานกับ RecyclerView ในแอป Android โดยใช้ Kotlin?


ตัวอย่างนี้สาธิตวิธีการทำงานกับ RecyclerView ในแอป Android โดยใช้ Kotlin

ขั้นตอนที่ 1 − สร้างโครงการใหม่ใน Android Studio ไปที่ File? โครงการใหม่และกรอกรายละเอียดที่จำเป็นทั้งหมดเพื่อสร้างโครงการใหม่

ขั้นตอนที่ 2 − เพิ่มรหัสต่อไปนี้ใน res/layout/activity_main.xml

ตัวอย่าง

ขั้นตอนที่ 3 − เพิ่มรหัสต่อไปนี้ใน src/MainActivity.kt

นำเข้า android.os.Bundleimport androidx.appcompat.app.AppCompatActivityimport androidx.recyclerview.widget.DefaultItemAnimatorimport androidx.recyclerview.widget.LinearLayoutManagerimport androidx.recyclerview.widget.RecyclerViewClass MainActivity List (รายการภาพยนตร์ส่วนตัวของ Arval)>() lateinit ส่วนตัว var moviesAdapter:MoviesAdapter แทนที่ความสนุกในการสร้าง (savedInstanceState:Bundle?) { super.onCreate (savedInstanceState) setContentView (R.layout.activity_main) title ="KotlinApp" val recyclerView:RecyclerView =findViewById (R.id.recyclerViewerViewById (R.id.recyclerView) ) moviesAdapter =MoviesAdapter (movieList) val LayoutManager =LinearLayoutManager (applicationContext) recyclerView.layoutManager =layoutManager recyclerView.itemAnimator =DefaultItemAnimator () recyclerView.adapter =moviesAdapter prepareMovieData () } ความสนุกส่วนตัว prepareMovieData ภาพยนตร์สูงสุด () {" Fury Road", "แอ็คชั่นและการผจญภัย e", "2015") movieList.add(movie) movie =MovieModel("Inside Out", "Animation, Kids &Family", "2015") movieList.add(movie) movie =MovieModel("Star Wars:Episode VII) - The Force Awakens", "Action", "2015") movieList.add(movie) movie =MovieModel("Shaun the Sheep", "Animation", "2015") movieList.add(movie) movie =MovieModel("The แรงตื่น Martian", "Science Fiction &Fantasy", "2015") movieList.add(movie) movie =MovieModel("Mission:Impossible Rogue Nation", "Action", "2015") movieList.add(movie) movie =MovieModel() "Up", "Animation", "2009") movieList.add(movie) movie =MovieModel("Star Trek", "Science Fiction", "2009") movieList.add(movie) movie =MovieModel("The LEGO MovieModel") ", "แอนิเมชั่น", "2014") movieList.add (ภาพยนตร์) ภาพยนตร์ =MovieModel ("ไอรอนแมน", "แอ็กชันและการผจญภัย", "2008") movieList.add (ภาพยนตร์) ภาพยนตร์ =MovieModel ("เอเลี่ยน", " นิยายวิทยาศาสตร์", "1986") movieList.add(movie) movie =MovieModel("Chicken Run", "Animation", "2000") movieList.add(movie) movie =MovieModel("Back to the Future", "Science Fiction", "1985") movieList.add(movie) movie =MovieModel ("Raiders of the Lost Ark", "Action &Adventure", "1981") movieList.add(movie) movie =MovieModel("Goldfinger", "Action &Adventure", "1965") movieList.add(movie) หนัง =MovieModel("ผู้พิทักษ์จักรวาล", "นิยายวิทยาศาสตร์และแฟนตาซี", "2014") movieList.add(ภาพยนตร์) moviesAdapter.notifyDataSetChanged() }}

ขั้นตอนที่ 4 − สร้างคลาส MovieModel.kt ใหม่และเพิ่มรหัสต่อไปนี้ -

คลาส MovieModel (ชื่อ:String?, ประเภท:String?, ปี:String?) { ชื่อ var ส่วนตัว:String ส่วนตัว var ประเภท:สตริง ส่วนตัว var ปี:String init { this.title =ชื่อ!! this.genre =ประเภท!! this.year =ปี!! } สนุก getTitle():สตริง? { กลับหัวเรื่อง } สนุก setTitle (ชื่อ:สตริง?) { ชื่อ =ชื่อ!! } สนุก getYear():สตริง? { ปีกลับ } สนุก setYear(year:String?) { this.year =year!! } สนุก getGenre():สตริง? { กลับประเภท } สนุก setGenre (ประเภท:สตริง?) { this.genre =ประเภท!! }}

ขั้นตอนที่ 5 − สร้างคลาสใหม่ MoviesAdapter.kt และเพิ่มรหัสต่อไปนี้ -

<ก่อนหน้า>นำเข้า android.view.LayoutInflaterimport android.view.Viewimport android.view.ViewGroupimport android.widget.TextViewimport androidx.annotation.NonNullimport androidx.recyclerview.widget.RecyclerViewinternal class MoviesAdapter (รายการภาพยนตร์ส่วนตัว var:รายการ ) .Adapter () { MyViewHolder คลาสภายในภายใน (ดู:ดู) :RecyclerView.ViewHolder (ดู) { ชื่อ var:TextView =view.findViewById (R.id.title) ต่อปี:TextView =view.findViewById (R.id.year) var ประเภท:TextView =view.findViewById(R.id.genre) } @NonNull แทนที่ fun onCreateViewHolder (พาเรนต์:ViewGroup, viewType:Int):MyViewHolder { val itemView =LayoutInflater.from (parent.context ) .inflate (R.layout.movie_list, parent, false) return MyViewHolder (itemView) } แทนที่ความสนุกบนBindViewHolder (ผู้ถือ:MyViewHolder ตำแหน่ง:Int) { val movie =moviesList[position] holder.title.text =movie.getTitle ( ) holder.genre.text =movie.getGenre() holder.year.text =movie.getYear() } แทนที่ fun getItemCount():Int { return moviesList.size }}

ขั้นตอนที่ 6 − สร้างไฟล์ทรัพยากรเลย์เอาต์ item_row.xml และเพิ่มสิ่งต่อไปนี้ -

     

ขั้นตอนที่ 7 − เพิ่มรหัสต่อไปนี้ใน androidManifest.xml

     <หมวดหมู่ android:name=" android.intent.category.LAUNCHER" />   

มาลองเรียกใช้แอปพลิเคชันของคุณกัน ฉันคิดว่าคุณได้เชื่อมต่ออุปกรณ์มือถือ Android จริงกับคอมพิวเตอร์ของคุณ ในการรันแอพจาก android studio ให้เปิดไฟล์กิจกรรมของโปรเจ็กต์ของคุณแล้วคลิกไอคอน Run การทำงานกับ RecyclerView ในแอป Android โดยใช้ Kotlin? จากแถบเครื่องมือ เลือกอุปกรณ์มือถือของคุณเป็นตัวเลือก จากนั้นตรวจสอบอุปกรณ์มือถือของคุณซึ่งจะแสดงหน้าจอเริ่มต้นของคุณ

การทำงานกับ RecyclerView ในแอป Android โดยใช้ Kotlin?