WEBVTT

1
00:00.110 --> 00:00.950
ยินดีต้อนรับกลับมา

2
00:00.950 --> 00:07.310

ในวิดีโอนี้เราจะสร้างคลาสอะแดปเตอร์และเรียนรู้วิธีการเพิ่มการผูกข้อมูลไปยังรีไซเคิลเลอร์วิว
สร้างคลาส Java

3
00:07.310 --> 00:12.080
ใหม่และตั้งชื่อว่า my adapter

4
00:12.080 --> 00:17.930
และอะแดปเตอร์นี้จะขยายจาก Recycler View
dot adapter

5
00:17.930 --> 00:21.950
และคุณสามารถเห็นที่นี่ว่าฉันต้องส่งผ่าน
Viewholder

6
00:21.950 --> 00:24.170
เราคุยกันเกี่ยวกับผู้ถือมุมมอง

7
00:24.170 --> 00:25.820
เราคุยกันเกี่ยวกับอะแดปเตอร์

8
00:25.820 --> 00:32.150

เราได้พูดคุยเกี่ยวกับสามวิธีที่เราจำเป็นต้องนำไปใช้ใน
bind Viewholder get

9
00:32.150 --> 00:32.810
count และใน create Viewholder

10
00:32.810 --> 00:39.230
ดังนั้นจึงมีรายละเอียดมากมาย
มีหัวข้อหลายอย่างที่เราได้พูดคุยกันในส่วนก่อนหน้านี้

11
00:39.230 --> 00:45.290
ดังนั้น โปรดอ้างอิงถึงส่วนของมุมมอง
Recycler

12
00:45.290 --> 00:46.580
และส่วนก่อนหน้านี้เมื่อเราใช้มุมมอง
Recycler ร่วมกับการผูกข้อมูล

13
00:46.580 --> 00:52.430

แต่ไม่ต้องกังวลหากคุณกำลังทำตามขั้นตอนของฉันทีละขั้นตอน
ฉันจะทบทวนแนวคิดเหล่านี้ที่นี่

14
00:52.430 --> 00:54.620
ฉันต้องส่งผ่าน viewholder

15
00:54.620 --> 00:56.030
อะไรคือผู้ถือมุมมอง? คลาสผู้ถือมุมมอง
(Viewholder)

16
00:56.060 --> 01:02.090
เป็นองค์ประกอบที่สำคัญของเฟรมเวิร์ก
Recycler

17
01:02.090 --> 01:06.800
View
และมีบทบาทสำคัญในการเพิ่มประสิทธิภาพของรายการและตารางในแอปพลิเคชันของคุณ

18
01:06.800 --> 01:14.330
วัตถุประสงค์ของ Viewholder
คือการเก็บแคชการอ้างอิงไปยังมุมมองแต่ละรายการภายในเลย์เอาต์ของรายการหรือรีไซเคิลเลอร์,

19
01:14.330 --> 01:16.010
รายการมุมมอง หรือตารางกริด

20
01:16.010 --> 01:18.500
มาเริ่มสร้างคลาสภายในนี้กันเถอะ

21
01:18.500 --> 01:26.720
คลาสสาธารณะ user Viewholder สืบทอดมาจาก
recycler view dot Viewholder

22
01:28.080 --> 01:33.450
ผู้ใช้ Viewholder กำลังขยายจาก
RecyclerView dot Viewholder.

23
01:33.450 --> 01:42.090
มันเก็บการอ้างอิงของมุมมองแต่ละรายการไว้
ดังนั้นคุณไม่จำเป็นต้องเรียกใช้เมธอด find
view by

24
01:42.090 --> 01:46.890
id ซ้ำๆ
สำหรับแต่ละรายการในลิสต์เมื่อเลื่อน
ซึ่งอาจใช้ทรัพยากรมากและทำให้ช้า

25
01:46.890 --> 01:54.100

ดังนั้นทุกครั้งที่คุณสร้างอะแดปเตอร์แบบกำหนดเองสำหรับ
RecyclerView

26
01:54.150 --> 01:54.720
คุณมักจะสร้างและจัดการกับวิวโฮลเดอร์

27
01:54.720 --> 01:55.440
กรณีตัวอย่าง

28
01:55.440 --> 02:03.480

เมื่อสร้างอะแดปเตอร์และรีไซเคิลเลอร์วิวโฮลเดอร์
ฉันต้องคัดลอกและส่งมันมาที่นี่
อะแดปเตอร์ของฉัน

29
02:03.480 --> 02:05.400
dot ยูสเซอร์วิวโฮลเดอร์

30
02:05.400 --> 02:10.020

ดังนั้นนี่ฉันกำลังส่งผ่านชนิดข้อมูลที่ถูกต้องอีกครั้ง

31
02:10.020 --> 02:18.210
ทุกคนครับ ผมขอแนะนำให้สร้างคลาสก่อน
เพราะหลายคนมักเกิดข้อผิดพลาดตรงนี้เวลาส่งข้อมูลประเภทหรือใช้
generics

32
02:18.210 --> 02:22.350
ใน recycler view adapter

33
02:22.350 --> 02:25.260

ดังนั้นให้เริ่มต้นด้วยการสร้างอะแดปเตอร์เสมอ

34
02:25.260 --> 02:33.090
ขยายจาก RecyclerView dot adapter
จากนั้นขั้นตอนต่อไปคือการสร้างคลาส A view
holder

35
02:33.090 --> 02:40.170
class ที่ขยายจาก recycler view dot view
holder แล้วส่งคลาสนี้เป็นพารามิเตอร์ประเภท

36
02:40.170 --> 02:43.170

ที่นี่ในทั่วไปของตัวปรับจุดของมุมมองรีไซเคิล

37
02:43.170 --> 02:45.780
ภายในตัวสร้างที่นี่ Alt+.

38
02:45.780 --> 02:46.380
เข้า

39
02:46.380 --> 02:47.760
สร้างคอนสตรัคเตอร์

40
02:47.760 --> 02:54.300

คุณสามารถเริ่มต้นการอ้างอิงมุมมองได้โดยเรียกใช้
find view by id
สำหรับแต่ละมุมมองที่คุณต้องการทำงานด้วย

41
02:54.300 --> 03:01.590
แต่เนื่องจากเรากำลังใช้การผูกข้อมูล (data
binding) และการอัปเดตล่าสุดของ

42
03:01.590 --> 03:07.410
Android ก็ชอบใช้การผูกข้อมูลนี้เช่นกัน
ฉันจะใช้มันที่นี่
และฉันต้องการให้คุณตั้งใจอยู่กับฉันเพราะนี่เป็นขั้นตอนที่สำคัญมาก

43
03:07.410 --> 03:10.590
วิธีเพิ่มการผูกข้อมูลกับ recycler view

44
03:10.590 --> 03:16.320
ในวิดีโอที่ผ่านมา
เราได้เริ่มต้นที่นี่เพื่อค้นหาวิวโดยใช้ ID
สำหรับวิวที่ถูกต้อง

45
03:16.320 --> 03:23.490
ตอนนี้ เนื่องจากฉันกำลังใช้การผูกข้อมูล

46
03:23.490 --> 03:24.330

ฉันจะเริ่มต้นด้วยการสร้างอินสแตนซ์ของการผูกข้อมูลของบัตรรายการ

47
03:24.330 --> 03:30.840
ดังนั้น การผูกการ์ดไอเทม การผูกการ์ดไอเทม
และที่นี่ฉันต้องเริ่มต้นมัน

48
03:30.840 --> 03:38.760

และแม้ว่าจะใช้การดูรายการและส่งมันเป็นมุมมองรายการแล้ว
ฉันก็ลบมันออกและสร้างคอนสตรัคเตอร์ใหม่

49
03:38.760 --> 03:40.770
นำสิ่งนี้ออกไป

50
03:40.770 --> 03:42.270
และนี่คือซุปเปอร์

51
03:42.270 --> 03:47.070
ฉันต้องเปลี่ยนเป็นไอเท็มการ์ดผูกจุดได้ราก

52
03:47.100 --> 03:53.940
คีย์เวิร์ด super
ใช้เพื่อเรียกคอนสตรัคเตอร์ของคลาสแม่
ซึ่งเป็น

53
03:53.940 --> 03:54.840
recycler view dot Viewholder

54
03:54.840 --> 04:00.270
ในกรณีนี้
จุดผูกข้อมูลรายการหรือจุดผูกการ์ดรายการจะใช้วิธีการเข้าถึงราก

55
04:00.270 --> 04:08.520

ส่งคืนมุมมองรากของเลย์เอาต์รายการโดยส่งมุมมองรากไปยังเมธอด
super

56
04:08.520 --> 04:15.810
คุณกำลังเริ่มต้นคลาส Viewholder
หลักด้วยวิวราก ซึ่งเป็นสิ่งที่ Recycler

57
04:15.810 --> 04:23.760
View dot Viewholder
คาดหวังและเพื่อจัดการเหตุการณ์คลิกบนรายการ
Recycler

58
04:23.760 --> 04:26.040
View คุณสามารถใช้การผูกข้อมูลรายการ dot
get root.

59
04:26.040 --> 04:33.120

คุณจะเห็นว่าประเภทที่คืนค่าคือวิวดอทที่ตั้งค่าไว้บนผู้ฟังการคลิก,
วิวใหม่บนผู้ฟังการคลิก
และคุณสามารถเขียนโค้ดและเรียกใช้โค้ดเมื่อผู้ใช้คลิกที่รายการใด

60
04:33.120 --> 04:39.720
ๆ ของสิ่งเหล่านี้ได้

61
04:39.720 --> 04:43.530
และในเมื่อเรากำลังพูดถึง onClick
ฉันจะแสดงให้คุณดู

62
04:43.530 --> 04:51.030
หากคุณต้องการใช้และรับไอเท็มที่คลิก
คุณเริ่มต้นโดยให้ตำแหน่งสิ้นสุดเท่ากับตำแหน่งรับและตำแหน่งถัดไป

63
04:51.030 --> 04:54.420
นี่คือตำแหน่งของแอปสำหรับรายการที่ถูกคลิก

64
04:54.420 --> 05:00.930

แต่ฉันจะไม่ใช้สิ่งนี้เพราะฉันไม่จำเป็นต้องจัดการเหตุการณ์การคลิกบนรายการของ
recycler view

65
05:00.960 --> 05:08.850
กลับไปที่ตรงนี้และเริ่มนำวิธีการของคลาส
Recycler View Adapter มาใช้กัน

66
05:08.850 --> 05:17.370

และที่นี่ฉันจำเป็นต้องเริ่มเพิ่มตัวแปรบางอย่าง
เช่น บริบท

67
05:17.370 --> 05:22.200

เนื่องจากฉันกำลังใช้อะแดปเตอร์และจำเป็นต้องเริ่มต้นมันที่นี่ในกิจกรรมหลัก
ฉันจึงต้องส่งบริบทของกิจกรรมหลักไปยังอะแดปเตอร์เพื่อแสดงผล
เช่น

68
05:22.200 --> 05:28.470
ข้อความทอสต์หากต้องการ
หรือรูปแบบอื่นใดที่ต้องการบริบท

69
05:28.470 --> 05:31.050
alt+ enter

70
05:31.050 --> 05:39.510
แต่ถ้าคุณต้องการแสดงข้อความทอสต์ใด ๆ
คุณจำเป็นต้องใช้ ArrayList
ของคลาสผู้ใช้ในบริบทนี้

71
05:39.510 --> 05:42.300
ฉันตั้งชื่อมันว่าผู้ใช้ ArrayList Alt+.

72
05:42.300 --> 05:44.100
ป้อนเพื่อนำเข้าลิสต์อาร์เรย์

73
05:44.100 --> 05:51.690

ฉันจะเก็บตัวแปรและผู้ใช้ไว้ในคอลเลกชันรายการอาร์เรย์โดยใช้
Alt+insert

74
05:51.690 --> 05:56.370

สร้างคอนสตรัคเตอร์ที่มีบริบทและรายการอาร์เรย์

75
05:56.370 --> 06:00.360
อีกครั้ง ฉันจำเป็นต้องนำวิธีการทั้งสาม
Alt+ ไปใช้

76
06:00.360 --> 06:05.910
เข้าสู่การดำเนินการตามวิธีการในการสร้าง
Viewholder ในการผูก Viewholder
และรับจำนวนรายการ

77
06:05.910 --> 06:06.810
คลิกตกลง

78
06:06.810 --> 06:12.510

และเราได้พูดคุยเกี่ยวกับวิธีการทั้งสามนี้อย่างละเอียดในวิดีโอที่ผ่านมาแล้ว

79
06:12.510 --> 06:21.060
ดังนั้นโปรดอ้างอิงไปที่ส่วนของ
RecyclerView และส่วนก่อนหน้านี้ของ mVVM
กับ room

80
06:21.060 --> 06:24.390
และ mVVM กับ retrofit
เพื่อเรียนรู้เพิ่มเติมเกี่ยวกับวิธีการเหล่านี้

81
06:24.390 --> 06:27.630
แต่อย่ากังวลไป
ฉันจะให้ภาพรวมเกี่ยวกับสิ่งเหล่านี้แก่คุณ

82
06:27.780 --> 06:28.260
วิธีการ


