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

سلام دوستان عزیز در این سری از آموزش برنامه نویسی اندروید به آموزش recyclerview در برنامه نویسی اندروید می پردازیم recyclerview ورژن پیشرفته ListView است که کارایی بالاتر و مزیت های بیشتری دارد در این آموزش یاد میگیریم که چه طور یک recyclerview را در layout خود render کنیم با ما همراه باشید.
 
قبل از هرچیز باید کتاب خانه RecyclerView را به برنامه اضافه کنیم.
برای اینکار وارد فایل Build.gradle از نوع Module شده سپس در بخش dependencies خط زیر را اضافه کنید.

پروژه را sync کنید.
 
ابتدا بخش activity_main را همانند زیر قرار دهید (در آن یک recyclerview  قرار داده ایم )

حال باید وارد colors.xml شویم (در res/values قرار دارد) سپس رنگ های زیر را در آن قراد دهید.

حال یک کلاس به نام Movie درست کنید این کلاس برای انجام getter/setter هست (این کلاس قرار دهنده و گیرنده است)

حالا باید یک فایل xml درست کنیم که لیست ما رو تشکیل میدهد که به شکل زیر می شود (در ادامه آن را توضیح می دهیم)

حالا باید هر ایتمی که در Recycler view نمایش داده می شود را ایجاد کنیم یعنی هر آیتمی می شود شامل بخش های بالا (شامل سه Textview که ژانر , سال و نام آن فیلم را مشخص می کند. ) می شود

 
 
حال باید یک آداپتور درست کنیم تا مقدار هایی که می خواهیم را در هر یک از ایتم ها ست کند (یعنی نام فیلم , ژانر و سال تولید آن فیلم را در هر یک از آیتم های RecyclerView قرار می دهد) . هر یک از ایتم ها یک Position دارند که بر اساس آن ما مقدار های text خودمون رو به آن ها پاس میدیم و در Textview قرار می گیرد.
حالا وارد بخش MainActivity.java می شویم و کد های زیر را در آن قرار می دهیم (در ادمه آن ها را توضیح خواهیم داد.)

در خود کد بعضی از بخش ها رو توضیح دادیم حالا برای اینکه که هر آیتم را اضافه کنیم از کد زیر استفاده کردیم.

تا اینجا آموزش به پایان رسیده ولی شاید بخواهید یک خط برای هر آیتم قرار دهید در لیست این کار خیلی راحت بود ولی در اینجا کمی کار سخت می شود.
یک کلاس به نام DividerItemDecoration.java ایجاد کنید و کد های زیر را در آن قرار دهید.

سپس کد زیر را قبل از recyclerview.setadpater قرار دهید.

کد بالا فقط یک خط زیر هر ایتم اضافه می کند
 
حال بهتر است برایش OnclickListener تعریف کنیم. (تعریف گرفتن کلیک بروی هر یک از آیتم ها)
برای اینکار ما ابتدا یک کلاس به نام RecyclerTouchListener.java ایجاد می کنیم و کد زیر را در آن قرار می دهیم.

بعد از تعریف آن وارد  Mainactivity شوید و کد زیر را بعد از recyclerview.setadapter قرار دهید.

و در آخر کد MainActivtiy به شکل زیر می شود.

این آموزش هم به پایان رسید.
 
موفق باشید.

مطالعه بیشتر