آموزش جاوا و اندروید

یادداشت های یک برنامه نویس معمولی

آموزش جاوا و اندروید

یادداشت های یک برنامه نویس معمولی

طبقه بندی موضوعی

توی ریسایکلر ویو متد onCreateViewHolder (همون متد اول) که کار inflate رو انجام میده، تعداد فراخونیش محدود هست. متدی که به ازای هر آیتم کال میشه، متد onBindViewHolder هست. این یکی از ویژگی های مثبت ریسایکلر ویو به شمار میاد، چون فرآیند inflate کردن پر هزینه هست. 

 

تغییر در آیتم ریسایکلر ویو (تغییر در لیست ویو):

مثلا حذف یک مورد از لیست. بعد از این کار باید متد 

notifyDataSetChanged()

فراخونی بشه. این متد، onCreateViewHolder و onBindViewHolder رو صدا میکنه.

 

اگر یک ویو که داخل آیتم ریسایکلر ویو هست ادیت شد، بعدش متد 

notifyItemChanged(holder.getLayoutPosition())

رو کال میکنیم. این متد، onCreateViewHolder رو کال نمیکنه و فقط onBindViewHolder رو صدا میزنه. بنابراین نسبت به قبلی فرآیند کم هزینه تری هست.

 

نتیجه: در صورت "تغییر سایز" لیست ورودی از متد اول و در صورت تغییر محتوا از متد دوم استفاده میکنیم.

 

فیلم خوب برای این توضیحات

موافقین ۰ مخالفین ۰ ۹۹/۰۵/۲۰
میم دال

نظرات  (۱)

خیلی عالی بود

ارسال نظر

ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی