WEBVTT

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

2
00:01.040 --> 00:06.350
ในวิดีโอนี้ เราจะสร้างคลาสอะแดปเตอร์สำหรับ
Recycler View

3
00:06.350 --> 00:08.180
เนื่องจากฉันจะแสดงรายการลงใน Recycler View

4
00:08.180 --> 00:14.960

และฉันมีเลย์เอาต์แบบกำหนดเองที่ฉันสร้างขึ้นเพื่อแสดงภาพยนตร์

5
00:14.960 --> 00:16.340

ฉันจำเป็นต้องสร้างอะแดปเตอร์ที่ขยายจากรีไซเคิลเลอร์

6
00:16.340 --> 00:17.930
ดูคลาสอะแดปเตอร์นั้น

7
00:17.930 --> 00:24.800
ภายในมุมมองนี้ ฉันจะสร้างคลาส Java ใหม่
และฉันจะตั้งชื่อว่า movie adapter

8
00:24.830 --> 00:29.600
คลาสนี้จะขยายมาจาก recycler view dot
adapter

9
00:29.600 --> 00:37.580

เราได้ทำสิ่งนี้มาแล้วหลายล้านครั้งในส่วนก่อนหน้านี้
ดังนั้นหากคุณพลาดรายละเอียดหรือแนวคิดใด ๆ
โปรดอ้างอิงส่วนของ

10
00:37.580 --> 00:43.220
recycler view และส่วนก่อนหน้านี้

11
00:43.220 --> 00:46.550
แต่อย่ากังวลไป ฉันจะอธิบายทุกอย่างที่นี่

12
00:46.550 --> 00:50.210
ฉันจำเป็นต้องส่งผ่านชนิดข้อมูลของ view
holder

13
00:50.210 --> 00:52.550
ฉันจะสร้างมันก่อนเป็นคลาส

14
00:52.550 --> 00:59.120
ตั้งชื่อว่า movie view holder
ที่สืบทอดมาจาก recycler view dot
Viewholder

15
00:59.120 --> 01:05.940

ทำให้มันเป็นสาธารณะแล้วฉันจะส่งตัวถือมุมมองของภาพยนตร์นี้โดยตรงในประเภทข้อมูลทั่วไปที่นี่

16
01:05.940 --> 01:10.560
ดังนั้น ผู้ดัดแปลงภาพยนตร์ dot
ผู้ชมภาพยนตร์ คุณสามารถดูได้

17
01:10.560 --> 01:15.450

นี่คือประเภทข้อมูลที่ถูกส่งผ่านเป็นแบบทั่วไปสำหรับตัวปรับมุมมองรีไซเคิล

18
01:15.450 --> 01:21.600
ภายในวิวโฮลเดอร์นี้
ฉันจะสร้างอินสแตนซ์จากออบเจ็กต์การผูกข้อมูล

19
01:21.600 --> 01:24.450
ฉันต้องการรายการภาพยนตร์

20
01:24.450 --> 01:27.210

ดังที่เราได้เรียนรู้มาก่อนหน้านี้ในการผูกข้อมูล

21
01:27.210 --> 01:35.370

ฉันจะเริ่มต้นด้วยรายการผูกข้อมูลประเภทรายการภาพยนตร์
โดยใช้ตัวพิมพ์ใหญ่สำหรับคำว่า "ภาพยนตร์"

22
01:35.370 --> 01:35.730
และฉันจะตั้งชื่อว่า
"ผูกข้อมูลรายการภาพยนตร์"

23
01:35.730 --> 01:42.570

สร้างคอนสตรัคเตอร์ที่มีการผูกข้อมูลนี้เป็นพารามิเตอร์

24
01:42.570 --> 01:45.390

แล้วฉันจะลบวิวนี้ออกเพราะฉันจะส่งมันมาที่นี่ในรายการภาพยนตร์หลัก

25
01:45.390 --> 01:47.340
จุดผูกมัดรับเส้นทาง

26
01:47.340 --> 01:54.120

นี่จะคืนมุมมองและที่นี่ฉันต้องตั้งค่าจุดรายการรายการภาพยนตร์เพื่อรับเส้นทาง

27
01:54.150 --> 01:57.990

คุณจะเห็นว่าฉันกำลังส่งคืนชุดจุดวิวในตัวฟังการคลิก

28
01:57.990 --> 02:05.400
ต่อไปฉันจะนำมุมมองนี้ไปใช้กับ Click
Listener
เพราะฉันต้องการนำทางไปยังกิจกรรมรายละเอียดภาพยนตร์

29
02:05.400 --> 02:08.070
และในตอนนี้ทุกอย่างทำงานได้ดี

30
02:08.070 --> 02:10.470
เราสร้างคลาส Holder สำหรับมุมมองภาพยนตร์

31
02:10.470 --> 02:17.430

ขั้นตอนที่สองคือการสร้างตัวแปรและนำวิธีการทั้งสามของคลาส
Recycler View

32
02:17.430 --> 02:18.000
adapter มาใช้

33
02:18.000 --> 02:28.020

ฉันจะเริ่มต้นด้วยวัตถุบริบทส่วนตัวที่ชื่อว่า
context
และรายการอาร์เรย์ส่วนตัวของคลาสภาพยนตร์และตั้งชื่อว่า
movie

34
02:28.020 --> 02:30.600
array list Alt+.

35
02:30.600 --> 02:32.700
ใส่เพื่อนำเข้าคลาสภาพยนตร์

36
02:32.700 --> 02:34.290
สร้างคอนสตรัคเตอร์

37
02:34.290 --> 02:42.540
เมื่อมีตัวแปรสองตัวนี้เมื่อสร้าง inflator
สำหรับเลย์เอาต์ ฉันจำเป็นต้องใช้ context

38
02:42.540 --> 02:45.830
object และต้องส่งมันไปยังเมธอด from
เป็นพารามิเตอร์

39
02:45.840 --> 02:48.810
ขั้นตอนสุดท้ายคือการนำวิธีการ Alt+ ไปใช้

40
02:48.810 --> 02:55.530

เข้าสู่ระบบเพื่อดำเนินการตามวิธีการและตรวจสอบให้แน่ใจเมื่อคุณดำเนินการตามวิธีการแล้ว
คุณกำลังส่งผ่านข้อมูลประเภท Viewholder นี้
ดำเนินการตามวิธีการทั้งสามวิธี

41
02:55.530 --> 03:02.190
ได้แก่ Enter และ Oncreate View

42
03:02.190 --> 03:03.210
holder เมื่อ bind Viewholder
และรับจำนวนรายการ

43
03:03.210 --> 03:09.180
ดังนั้น
วิธีการเหล่านี้เป็นส่วนหนึ่งของคลาสตัวปรับมุมมองรีไซเคิล

44
03:09.180 --> 03:12.450

ซึ่งรับผิดชอบในการจัดเตรียมข้อมูลให้กับมุมมองรีไซเคิลและสร้างมุมมองสำหรับแต่ละรายการในรายการ

45
03:12.450 --> 03:15.210
มาเริ่มกันที่ Oncreate view Holder

46
03:15.210 --> 03:21.450

เมธอดนี้จะถูกเรียกใช้เมื่อตัวจัดการรีไซเคิลเลอร์วิวจำเป็นต้องสร้างผู้ถือวิวใหม่สำหรับวิวของรายการ

47
03:21.450 --> 03:27.960

มันมีหน้าที่ในการขยายเค้าโครงของมุมมองของรายการ
โดยปกติจะมาจากไฟล์เค้าโครง

48
03:27.960 --> 03:35.250
XML
และส่งคืนอินสแตนซ์ใหม่ของคลาสตัวถือมุมมองที่กำหนดเองซึ่งเก็บการอ้างอิงไปยังมุมมองภายในเค้าโครง

49
03:35.250 --> 03:38.730
งั้นเรามาเริ่มกันที่ Oncreate view holder

50
03:38.730 --> 03:42.300
ฉันจะใช้การผูกข้อมูลรายการในลิสต์ภาพยนตร์

51
03:42.300 --> 03:50.760
ดังนั้น การผูกข้อมูลรายการภาพยนตร์
การผูกอินสแตนซ์จะเท่ากับ
การผูกข้อมูลโดยใช้วิธี dot inflate ของ
util

52
03:50.760 --> 03:58.110
และภายในเมธอด inflate นี้
ฉันจำเป็นต้องส่งพารามิเตอร์สี่ตัวอีกครั้งนะครับ
ทุกอย่างได้อธิบายไว้แล้วในส่วนก่อนหน้าเกี่ยวกับการผูกข้อมูลกับ

53
03:58.110 --> 04:04.350
recycler views การผูกข้อมูลกับ text

54
04:04.350 --> 04:07.650
views การผูกข้อมูลแบบสองทาง และแนวคิดอื่นๆ
อีกมากมาย

55
04:07.650 --> 04:17.100
พารามิเตอร์แรกคือตัวขยายเลย์เอาต์
ตัวขยายเลย์เอาต์จุดจาก

56
04:17.100 --> 04:17.580
และที่นี่ฉันต้องส่งวัตถุบริบท

57
04:17.580 --> 04:21.240
ดังนั้นสำหรับเรื่องนี้
ฉันได้สร้างวัตถุบริบทนี้ขึ้นมา

58
04:21.240 --> 04:23.370
คุณคงเข้าใจว่าทำไมฉันถึงทำแบบนี้

59
04:23.370 --> 04:27.300
ฉันกำลังสอนคุณว่าทำไมเราถึงเขียนโค้ดนี้

60
04:27.300 --> 04:35.460
นอกจากนี้
คุณสามารถใช้กลุ่มมุมมองหลักได้ดังนี้
จุดลูกเพื่อรับบริบทเพื่อคืนบริบท

61
04:35.490 --> 04:42.990
พารามิเตอร์ที่สองคือ r dot layout dot
movie underscore list underscore item

62
04:42.990 --> 04:46.440
นี่คือเลย์เอาต์ที่เราต้องขยายเพื่อแสดงผล

63
04:46.440 --> 04:49.740
พารามิเตอร์ที่สามคือ parent
ซึ่งเป็นกลุ่มมุมมอง

64
04:49.740 --> 04:53.640
และพารามิเตอร์ที่สี่ถูกแนบกับ parent
ซึ่งมีค่าเป็น false

65
04:53.640 --> 04:59.610
อีกครั้งครับ การผูกข้อมูลด้วย util.inflate
เป็นวิธีที่ใช้ในการขยายเลย์เอาต์เพื่อสร้างขึ้น

66
04:59.880 --> 05:01.260
ตัวอย่างที่ผูกมัดสำหรับมัน

67
05:01.260 --> 05:06.390
เป็นส่วนหนึ่งของไลบรารีการผูกข้อมูล
และใช้เพื่อเชื่อมโยงไฟล์ XML
ของเลย์เอาต์กับคลาสผูกข้อมูลที่สร้างขึ้นและตัวขยายเลย์เอาต์จากเมธอด

68
05:06.390 --> 05:11.880
get context ของพ่อแม่

69
05:11.880 --> 05:19.050

บรรทัดนี้สร้างอินสแตนซ์จากอินฟล레이เตอร์ของเลย์เอาต์โดยใช้บริบทของวิวผู้ปกครอง

70
05:19.080 --> 05:25.830
ตัวขยายเลย์เอาต์ใช้เพื่อขยายไฟล์ XML
ของเลย์เอาต์ให้เป็นวัตถุมุมมองหรือเลย์เอาต์

71
05:25.830 --> 05:32.220

ซึ่งเป็นเลย์เอาต์ที่เราต้องการแสดงและอ้างอิงสำหรับรายการเดียวในรายการโมเดลของคุณ
และตัวแม่ซึ่งเป็นพารามิเตอร์หรือพารามิเตอร์มุมมองแม่ที่เลย์เอาต์ที่ขยายจะถูกแนบอยู่ด้วย

72
05:32.220 --> 05:40.740
และค่า false

73
05:40.740 --> 05:46.680

พารามิเตอร์นี้ระบุว่าเลย์เอาต์ที่ขยายแล้วควรแนบกับมุมมองหลักทันทีหรือไม่

74
05:46.680 --> 05:51.810
การตั้งค่าเป็น false
หมายความว่าเลย์เอาต์จะไม่ถูกแนบกับผู้ปกครอง
ณ จุดนี้

75
05:51.810 --> 06:03.010
จากนั้นฉันต้องคืน Viewholder
ของภาพยนตร์ใหม่
และฉันกำลังส่งผ่านอินสแตนซ์การผูกของฉันเมื่อผูก
Viewholder

76
06:03.010 --> 06:09.370

เมธอดนี้จะถูกเรียกใช้เมื่อตัวจัดการรีไซเคิลเลอร์วิวต้องการผูกข้อมูลกับ
Viewholder

77
06:09.370 --> 06:10.000
และแสดงผลบนหน้าจอ

78
06:10.000 --> 06:16.120
มันมีหน้าที่ในการอัปเดตมุมมองภายใน
Viewholder

79
06:16.120 --> 06:17.020
ด้วยข้อมูลจากตำแหน่งเฉพาะในชุดข้อมูล

80
06:17.050 --> 06:23.920

พารามิเตอร์ตำแหน่งในเมธอดนี้สอดคล้องกับตำแหน่งของรายการภายในชุดข้อมูลที่นี่ภายใน
on

81
06:23.920 --> 06:25.360
bind นี้

82
06:25.360 --> 06:26.080
ผู้ถือมุมมอง

83
06:26.080 --> 06:33.370

ฉันจะเริ่มด้วยตัวอย่างของภาพยนตร์ที่เท่ากับรายการอาร์เรย์ของภาพยนตร์
dot get
และที่นี่ฉันต้องการรับภาพยนตร์ปัจจุบันและตัวถือ
dot

84
06:33.370 --> 06:39.820
รายการภาพยนตร์ binding และตั้งค่า movie
ให้เป็นภาพยนตร์นี้

85
06:39.820 --> 06:47.650

ฉันกำลังเชื่อมโยงการผูกข้อมูลกับภาพยนตร์นี้หรือภาพยนตร์ปัจจุบันในชุดข้อมูลเพื่อรับจำนวนรายการ

86
06:47.650 --> 06:53.170

วิธีนี้กำหนดจำนวนรายการในชุดข้อมูลที่มุมมองรีไซเคิลควรแสดง

87
06:53.170 --> 06:59.500
มันถูกเรียกโดย recycler view
เพื่อให้ทราบว่าในแหล่งข้อมูลมีรายการอยู่กี่รายการ
และเมธอด

88
06:59.500 --> 07:05.230
get item count
ควรส่งคืนค่าจำนวนเต็มซึ่งแสดงจำนวนรายการทั้งหมด

89
07:05.230 --> 07:07.900
ฉันจะใช้รายการอาร์เรย์ของภาพยนตร์ จุดขนาด

90
07:08.140 --> 07:09.730
ขอแสดงความยินดีด้วยครับ/ค่ะ

91
07:09.730 --> 07:14.260
เราสร้างตัวแปลงภาพยนตร์นี้สำหรับ recycler
view


