8 ความแตกต่างระหว่าง RecyclerView และ ListView
1. รูปแบบ ViewHolder
รูปแบบที่ใช้ในการลดการโทรไปยังfindViewById ()วิธีการ
ใน ListView คุณสามารถสร้างรายการได้อย่างง่ายดายโดยไม่ต้องใช้ ViewHolder แต่ไม่ใช่ในกรณีของ RecyclerView
2. อะแดปเตอร์
ทั้งคู่เป็น AdapterViews ใช่ มันทำงานบนพื้นฐานของคลาสอะแดปเตอร์
มันง่ายต่อการสร้าง ListView โดยใช้อะแดปเตอร์เริ่มต้นเช่น ArrayAdapter, CursorAdapter แต่ RecyclerView ให้คลาส RecyclerView.Adapter เพื่อสร้างคลาสอะแดปเตอร์ใหม่เอง
คุณไม่สามารถใช้ ArrayAdapter หรืออะแดปเตอร์ในตัวอื่นกับ RecyclerView
3. การจัดรายการ
ฉันได้สร้าง ListView แนวตั้งในรหัสที่ง่ายและน้อยกว่า แต่ถ้าเราต้องการสร้าง GridView
RecyclerView ใช้ LayoutManager เพื่อจัดเรียงรายการ มีคลาส LayoutManager 3 คลาส
- LinearLayoutManager - ช่วยในการสร้างรายการประเภทเชิงเส้น
- GridLayoutManager - ใช้เพื่อสร้างกริด
- StaggeredGridLayoutManager - ใช้เพื่อสร้าง staggeredgrid
ภาพเคลื่อนไหว
ListView ไม่มีภาพเคลื่อนไหวพื้นฐาน แต่ RecyclerView มาพร้อมกับภาพเคลื่อนไหวที่เรียบง่าย
divider
แอนดรอยด์: ตัวแบ่งและแอนดรอยด์:คุณสมบัติตัวคั่นหรือ setDivider (), setDividerHeight () ช่วยให้คุณสร้างตัวแบ่งที่กำหนดเองใน ListView
ตั้งแต่ 25.1.0 คุณสามารถใช้คลาสDividerItemDecorationเพื่อสร้างตัวแบ่งอย่างง่าย
คลิกกิจกรรม
RecyclerView ไม่มีOnItemClickListenerใช่ว่ามันน่าเศร้ามาก แต่พวกเขาให้การควบคุมเพิ่มเติมแก่นักพัฒนาโดยการให้RecyclerViewOnItemTouchListener
แจ้งวิธีการ
คุณต้องโทรวิธีการแจ้งเตือน * ที่เหมาะสมเพื่อดำเนินการเคลื่อนไหวที่ถูกต้อง RecylcerView มีวิธีแจ้งเตือนมากมายเมื่อเปรียบเทียบกับ ListView