Concat Adapter ของเล่นใหม่เมือง Google

Kittiphon Saikaewtes
te<h @TDG
Published in
1 min readJul 21, 2020

สวัสดีครับ วันนี้เราจะมาพูดถึงของเล่นใหม่จาก Google ที่เพิ่มเข้ามาในตัว androidx.recyclerview:recyclerview:1.2.0-alpha02 กันครับนั่นคือเจ้า MergeAdapter นั้นเอง แต่เอ๊ะ…ทำไมหัวข้อเรานั้นถึงเขียนว่า ConcatAdapter ล่ะ คำตอบก็คือ เค้าเปลี่ยนชื่อใน version alpha04 ครับ

ว่าแต่เจ้า ConcatAdapter มันคืออะไรใช้งานยังไง

ConcatAdapter นั้นเป็น Adapter ที่สามารถรวม RecyclerViewAdapter มากกว่า 1 ตัวมาไว้ด้วยกันได้ อย่างเช่น ปกติเวลาเราสร้าง RecyclerViewAdapter แล้วจะให้มันมี layout ต่างกันจะต้องมี view type แยกใช่ไหมครับ แต่เจ้า ConcatAdapter นั้นสามารถเอา xAdapter ซึ่งมี layout นึง มารวมกับ yAdapter ซึ่งมีอีก layout นึง มาแสดงอยู่ใน RecyclerView เดียวกันได้ครับ

วิธีใช้ก็ง่ายมากครับมาดูตัวอย่างที่ทำได้เลย

ขั้นแรก เพิ่ม depencies เข้าไป

จากนั้นเพิ่ม code ที่สร้าง Adapter ปกติ แล้วยัดมันเข้าไปใน ConcatAdapter แบบนี้เลย แล้วเอา RecyclerView set ConcatAdapter เข้าไปครับ

จะได้ผลลัพธ์ออกมาประมาณนี้ครับ ลำดับจะถูกเรียงจาก adapter ที่ยัดเข้าไป ConcatAdapter(1,2,3,..)

จากที่ลองมา ConcatAdapter นั้นเหมาะกับข้อมูลที่ List Model ต่างกันครับ แบบมาเป็นแบ่ง section นี่จะสะดวกมาก อันนี้ก็เป็นการลองเล่นคร่าวๆครับ ลองเอาไปประยุกต์กันได้ หวังว่าบทความนี้คงจะมีประโยชน์ไม่มากก็น้อยสำหรับเพื่อนชาว Andriod Dev ครับ วันลาไปก่อนครับ บ๊ายยย

--

--