آموزش InfiniteScroll در RecyclerView در برنامه نویسی اندروید

سلام دوستان در این سری از آموزش برنامه نویسی اندروید به آموزش InfiniteScroll در RecyclerView در برنامه نویسی اندروید می پردازیم این آموزش بسیار کاربردی است و جلوه زیبایی هم به اپلیکیشن شما می دهد قبلتر آموزش RecyclerView را قرار داده بودیم و مثل همیشه با سرچ می توانید آن را پیدا کنید و نحوه کار به این شکل است که شما هنگام Scroll در RecyclerView به جای اینکه دیتا از قبل لود شود به صورت کم کم و با یک انیمیشن جالب لود می شود و به صورت اسکرول نامحدود خواهد بود در ادامه با ما همراه باشید.شاید بهتر باشد یک پیشنمایشی از آن را ببنید.

 
ابتدا خط زیر را در بخش dependencies در gradle قرار دهید

و یکسری کتاب خانه دیگر برای RecyclerView باید قرار دهیم (آموزش RecyclerView را ابتدا مطالعه کنید)

به احتمال 90 درصد خط اول یعنی appcompact وجود دارد در صورت وجو این خط را قرار ندهید.
و پروژه خود را  Sync کنید (ما قبلا علت خطای گریدل را قرار داده ایم لطفا انقدر سوال نپرسید ابتدا سرچ کنید در سایت !)
به علت درخواست کاربران کل کدها را قرار می دهیم و به مثال های کوتاه نمی پردازیم
و کد بخش activtiy_main.xml همانند زیر می شود.

در بالا یک Recyclerview و یک progress بار داریم (شئی های اصلی ما)
که با هر بار اسکرول کاربر ما باید progressbar را به نمایش در بیاریم و بعد دوباره آن را مخفی کنیم.
 
و کد مربوط به بخش MainActivity.java هم به شکل زیر می شود.

از بالا شروع می کنیم به توضیح دادن تا به پایین
MAX_ITEMS_PER_REQUEST این متغیر برای این است که بیشترین ایتمی که در هر بار می خواهد در RecyclerView لود شود را مشخص کند الان برای 20 است یعنی در هر اسکرول 20 تا اضافه خواهد شد.
NUMBER_OF_ITEMS تعداد کل اون لیست ما است ما از داده sample استفاده کردیم.
SIMULATED_LOADING_TIME_IN_MS مقدار زمانی که هر بار از لود استفاده می شود (هر بار که اسکرول می شود این مقدار زمانی طول بکشد تا دوباره به نمایش در بیایید.)
بعد از آن ما یکسری void را در Oncreate اجرا کردیم که یکی یکی آن ها را بررسی می کنیم.
createItems ساخت داده های sample ما
initViews همان findeViewbyid را با این void انجام می دهیم.
و بخش مهم آن InfiniteScrollListener است که با استفاده از کتاب خانه اولی آن را درست کرده ایم و برای این است که در هر بار اسکرول کار هایی که در بالا گفته شد انجام شود.
simulateLoading شبیه سازی لود شودن داده.
addOnScrollListener و برای اضافه کردن Listiner به RecyclerView از این کد استفاده شده است.
 
حال باید یک آداپتور ایجاد کنیم علت ایجاد آداپتور را گفته ایم در سایت جستجو کنید !
نام آداپتور ما MyAdapter.java است .

به صورت سریع اگر بخواهیم بهش بپردازیم onBindViewHolder مکانی که هر ایتم قرار دارد (position) را برای ما بر می گرداند  وبرای قرار دادن داده از ViewHolder استفاده شده است.
 
این آموزش هم به پایان رسید.
 
موفق باشید.

مطالعه بیشتر