ยินดีต้อนรับกลับมา
ในวิดีโอนี้เราจะสร้างคลาสอะแดปเตอร์และเรียนรู้วิธีการเพิ่มการผูกข้อมูลไปยังรีไซเคิลเลอร์วิว สร้างคลาส Java
ใหม่และตั้งชื่อว่า my adapter
และอะแดปเตอร์นี้จะขยายจาก Recycler View dot adapter
และคุณสามารถเห็นที่นี่ว่าฉันต้องส่งผ่าน Viewholder
เราคุยกันเกี่ยวกับผู้ถือมุมมอง
เราคุยกันเกี่ยวกับอะแดปเตอร์
เราได้พูดคุยเกี่ยวกับสามวิธีที่เราจำเป็นต้องนำไปใช้ใน bind Viewholder get
count และใน create Viewholder
ดังนั้นจึงมีรายละเอียดมากมาย มีหัวข้อหลายอย่างที่เราได้พูดคุยกันในส่วนก่อนหน้านี้
ดังนั้น โปรดอ้างอิงถึงส่วนของมุมมอง Recycler
และส่วนก่อนหน้านี้เมื่อเราใช้มุมมอง Recycler ร่วมกับการผูกข้อมูล
แต่ไม่ต้องกังวลหากคุณกำลังทำตามขั้นตอนของฉันทีละขั้นตอน ฉันจะทบทวนแนวคิดเหล่านี้ที่นี่
ฉันต้องส่งผ่าน viewholder
อะไรคือผู้ถือมุมมอง? คลาสผู้ถือมุมมอง (Viewholder)
เป็นองค์ประกอบที่สำคัญของเฟรมเวิร์ก Recycler
View และมีบทบาทสำคัญในการเพิ่มประสิทธิภาพของรายการและตารางในแอปพลิเคชันของคุณ
วัตถุประสงค์ของ Viewholder คือการเก็บแคชการอ้างอิงไปยังมุมมองแต่ละรายการภายในเลย์เอาต์ของรายการหรือรีไซเคิลเลอร์,
รายการมุมมอง หรือตารางกริด
มาเริ่มสร้างคลาสภายในนี้กันเถอะ
คลาสสาธารณะ user Viewholder สืบทอดมาจาก recycler view dot Viewholder
ผู้ใช้ Viewholder กำลังขยายจาก RecyclerView dot Viewholder.
มันเก็บการอ้างอิงของมุมมองแต่ละรายการไว้ ดังนั้นคุณไม่จำเป็นต้องเรียกใช้เมธอด find view by
id ซ้ำๆ สำหรับแต่ละรายการในลิสต์เมื่อเลื่อน ซึ่งอาจใช้ทรัพยากรมากและทำให้ช้า
ดังนั้นทุกครั้งที่คุณสร้างอะแดปเตอร์แบบกำหนดเองสำหรับ RecyclerView
คุณมักจะสร้างและจัดการกับวิวโฮลเดอร์
กรณีตัวอย่าง
เมื่อสร้างอะแดปเตอร์และรีไซเคิลเลอร์วิวโฮลเดอร์ ฉันต้องคัดลอกและส่งมันมาที่นี่ อะแดปเตอร์ของฉัน
dot ยูสเซอร์วิวโฮลเดอร์
ดังนั้นนี่ฉันกำลังส่งผ่านชนิดข้อมูลที่ถูกต้องอีกครั้ง
ทุกคนครับ ผมขอแนะนำให้สร้างคลาสก่อน เพราะหลายคนมักเกิดข้อผิดพลาดตรงนี้เวลาส่งข้อมูลประเภทหรือใช้ generics
ใน recycler view adapter
ดังนั้นให้เริ่มต้นด้วยการสร้างอะแดปเตอร์เสมอ
ขยายจาก RecyclerView dot adapter จากนั้นขั้นตอนต่อไปคือการสร้างคลาส A view holder
class ที่ขยายจาก recycler view dot view holder แล้วส่งคลาสนี้เป็นพารามิเตอร์ประเภท
ที่นี่ในทั่วไปของตัวปรับจุดของมุมมองรีไซเคิล
ภายในตัวสร้างที่นี่ Alt+.
เข้า
สร้างคอนสตรัคเตอร์
คุณสามารถเริ่มต้นการอ้างอิงมุมมองได้โดยเรียกใช้ find view by id สำหรับแต่ละมุมมองที่คุณต้องการทำงานด้วย
แต่เนื่องจากเรากำลังใช้การผูกข้อมูล (data binding) และการอัปเดตล่าสุดของ
Android ก็ชอบใช้การผูกข้อมูลนี้เช่นกัน ฉันจะใช้มันที่นี่ และฉันต้องการให้คุณตั้งใจอยู่กับฉันเพราะนี่เป็นขั้นตอนที่สำคัญมาก
วิธีเพิ่มการผูกข้อมูลกับ recycler view
ในวิดีโอที่ผ่านมา เราได้เริ่มต้นที่นี่เพื่อค้นหาวิวโดยใช้ ID สำหรับวิวที่ถูกต้อง
ตอนนี้ เนื่องจากฉันกำลังใช้การผูกข้อมูล
ฉันจะเริ่มต้นด้วยการสร้างอินสแตนซ์ของการผูกข้อมูลของบัตรรายการ
ดังนั้น การผูกการ์ดไอเทม การผูกการ์ดไอเทม และที่นี่ฉันต้องเริ่มต้นมัน
และแม้ว่าจะใช้การดูรายการและส่งมันเป็นมุมมองรายการแล้ว ฉันก็ลบมันออกและสร้างคอนสตรัคเตอร์ใหม่
นำสิ่งนี้ออกไป
และนี่คือซุปเปอร์
ฉันต้องเปลี่ยนเป็นไอเท็มการ์ดผูกจุดได้ราก
คีย์เวิร์ด super ใช้เพื่อเรียกคอนสตรัคเตอร์ของคลาสแม่ ซึ่งเป็น
recycler view dot Viewholder
ในกรณีนี้ จุดผูกข้อมูลรายการหรือจุดผูกการ์ดรายการจะใช้วิธีการเข้าถึงราก
ส่งคืนมุมมองรากของเลย์เอาต์รายการโดยส่งมุมมองรากไปยังเมธอด super
คุณกำลังเริ่มต้นคลาส Viewholder หลักด้วยวิวราก ซึ่งเป็นสิ่งที่ Recycler
View dot Viewholder คาดหวังและเพื่อจัดการเหตุการณ์คลิกบนรายการ Recycler
View คุณสามารถใช้การผูกข้อมูลรายการ dot get root.
คุณจะเห็นว่าประเภทที่คืนค่าคือวิวดอทที่ตั้งค่าไว้บนผู้ฟังการคลิก, วิวใหม่บนผู้ฟังการคลิก และคุณสามารถเขียนโค้ดและเรียกใช้โค้ดเมื่อผู้ใช้คลิกที่รายการใด
ๆ ของสิ่งเหล่านี้ได้
และในเมื่อเรากำลังพูดถึง onClick ฉันจะแสดงให้คุณดู
หากคุณต้องการใช้และรับไอเท็มที่คลิก คุณเริ่มต้นโดยให้ตำแหน่งสิ้นสุดเท่ากับตำแหน่งรับและตำแหน่งถัดไป
นี่คือตำแหน่งของแอปสำหรับรายการที่ถูกคลิก
แต่ฉันจะไม่ใช้สิ่งนี้เพราะฉันไม่จำเป็นต้องจัดการเหตุการณ์การคลิกบนรายการของ recycler view
กลับไปที่ตรงนี้และเริ่มนำวิธีการของคลาส Recycler View Adapter มาใช้กัน
และที่นี่ฉันจำเป็นต้องเริ่มเพิ่มตัวแปรบางอย่าง เช่น บริบท
เนื่องจากฉันกำลังใช้อะแดปเตอร์และจำเป็นต้องเริ่มต้นมันที่นี่ในกิจกรรมหลัก ฉันจึงต้องส่งบริบทของกิจกรรมหลักไปยังอะแดปเตอร์เพื่อแสดงผล เช่น
ข้อความทอสต์หากต้องการ หรือรูปแบบอื่นใดที่ต้องการบริบท
alt+ enter
แต่ถ้าคุณต้องการแสดงข้อความทอสต์ใด ๆ คุณจำเป็นต้องใช้ ArrayList ของคลาสผู้ใช้ในบริบทนี้
ฉันตั้งชื่อมันว่าผู้ใช้ ArrayList Alt+.
ป้อนเพื่อนำเข้าลิสต์อาร์เรย์
ฉันจะเก็บตัวแปรและผู้ใช้ไว้ในคอลเลกชันรายการอาร์เรย์โดยใช้ Alt+insert
สร้างคอนสตรัคเตอร์ที่มีบริบทและรายการอาร์เรย์
อีกครั้ง ฉันจำเป็นต้องนำวิธีการทั้งสาม Alt+ ไปใช้
เข้าสู่การดำเนินการตามวิธีการในการสร้าง Viewholder ในการผูก Viewholder และรับจำนวนรายการ
คลิกตกลง
และเราได้พูดคุยเกี่ยวกับวิธีการทั้งสามนี้อย่างละเอียดในวิดีโอที่ผ่านมาแล้ว
ดังนั้นโปรดอ้างอิงไปที่ส่วนของ RecyclerView และส่วนก่อนหน้านี้ของ mVVM กับ room
และ mVVM กับ retrofit เพื่อเรียนรู้เพิ่มเติมเกี่ยวกับวิธีการเหล่านี้
แต่อย่ากังวลไป ฉันจะให้ภาพรวมเกี่ยวกับสิ่งเหล่านี้แก่คุณ
วิธีการ