اندروید در ورژن 5.0 خود از ویجت جدیدی به نامRecyclerView رو نمایی کرد که یکViewGroup جدید است و آماده ارائه هر نمایه مبتنی بر آداپتور به شیوه ای مشابه است RecyclerView با گسترش در ذهن طراحی شده است، بنابراین امکان ایجاد هر گونه طرح که می توانید از ان استفاده کنید را برای شما فراهم می کند. شما اگر می خواهید از یکRecyclerView استفاده کنید باید سه عنصر RecyclerView.AdapterوLayoutManager و ItemAnimator را بشناسید.
ListView یک گروه مشاهده است که لیستی از موارد رونده را نمایش می دهد. موارد لیست به صورت اتوماتیک با استفاده از یک اداپتور که محتوا را از یک منبع مانند یک آرایه یا پایگاه داده می گیرد، به لیست اضافه می شود و در نتیجه آیتم را به یک نمایش که در لیست قرار می گیرد، تبدیل می کند.
الگوی نمایشگر شما را قادر می سازد تا لیست پیمایشی را به طور صحیح انجام دهید. آداپتور RecyclerView ما را مجبور به استفاده از الگوی نمایشگر می کند اما در طرف دیگر، ListView به طور پیش فرض به ما این نوع حفاظت را نمی دهد.
LayoutManager مسئولیت طرح بندی نمایش های ردیف را بر عهده دارد. بنابراین RecyclerView مجبور نیست درباره چگونگی قرار دادن نمایش ردیف فکر کند. این کلاس به ما فرصتی برای انتخاب روش هایی می دهد که می خواهیم نمایش ردیف ها و نحوه حرکت در لیست را انتخاب کنیم. پیش از این با استفاده از ListView ما تنها قادر به ایجاد یک لیست اسکرول عمودی بودیم، بنابراین آن نیز انعطاف پذیر نبود.
وظیفه ItemDecoration در تئوری ساده است (اضافه کردن برخی از دکوراسیون ها برای نمایش لیست ردیف) اما در عمل این طور نیست. اگر ما بخواهیم تقسیم کننده را به هر دلیلی اضافه کنیم، می توانیم از DividerItemDecoration استفاده کنیم و آن را به RecyclerView اضافه کنیم. در صورتی که از ListView استفاده کنیم، باید خودمان از دکمه های ردیف استفاده کنیم و برای این ویجت هیچ کلاس کمکی مانند ItemDecorationوجود ندارد.
به طور پیش فرض انیمیشن های لیست RecyclerView زیبا و صاف هستند. ما نیز می توانیم ان ها را با ایجاد ItemAnimator خودمان تغییر دهیم که این نیز آسان است. در طرف دیگر اجرای انیمیشن ها در ListView سخت است و کار با فایده ای نیست و به راحتی نمی توان ان را مدیریت کرد.
لیست ویو برای مدت زمان طولانی در خدمت ما بوده است و ما بوسیله آن توانسته ایم بیشتر موراد را پوشش دهیم، اما در حال حاضر نیاز های کاربران بسیار متفاوت هستند. لیست طرح ها پیچیده تر شده و ListView با دست به ان ها کمکی به ما نمی کند. خوشبختانه RecyclerViewمعرفی شد و مشکلات زیادی را حل کرد. RecyclerView به طور پیش فرض کار امدتر نیز است و انیمیشن های آن نیز ساده ترند. اگر مایلید اطلاعات بیشتری درباره مقایسه RecyclerView و ListView بدست بیارید کافیه اینجا کلیک کنید.