افزودن آرایش header وfooter به recyclerview در اندروید

افزودن آرایش header وfooter به recyclerview در اندرویدReviewed by آریانا on Nov 8Rating: 5.0افزودن آرایش header وfooter به recyclerview در اندرویدهمانطور که در کلاس اصلی کد recyclerview می بینید ، recyclerview زیرمجموعه ی viewgroup است

همانطور که در کلاس اصلی کد recyclerview می بینید ، recyclerview زیرمجموعه ی viewgroup  است و رابط های NestedScrollingChild وscrollingview را اجرا میکند. این بدان معناست که ساختار recyclerview همانند listview و gridview نیست ( این دو زیر مجموعه ی adapterview) هستند. Recyclerview مشابه listview است اما اولین واخرین point را ندارد.

بنابراین افزودن هدر و فوتر به recyclerview مانند listview اسان نیست. در listview با فراخوانی متد های (addHeaderView(View v  و (addFooterView(View v هدر وفوتر را اضافه می کنیم. اما در recyclerview باید از یک راه ساختگی استفاده کنیم.

ویدئوی دمو:

مشخص کردن آرایش برای گزینه های آیتم، هدر و فوتر

ابتدا باید سه آرایش(layout) مختلف برای recyclerview داشته باشیم:

LAYOUT item.xml

layout_footer.xml

layout_header.xml

ترکیب بندی adapterclass

مانند بقیه ی موارد ، برای اینکه اداپتور RecyclerView ساختگی خودمان را داشته باشیم یک زیر مجموعه از RecyclerView.Adapter می سازیم. ابتدا چند استاتیک ثابت را فراهم میکنیم

در متد onCreateViewHolder()  یک الگوی ViewHolder میسازیم و نحوه ی ارایش  ان را بر اساس  نوع تغییرات  view  مشخص می کنیم.

حتما باید getItemViewType() را لغو کنیم تا هدر در موقعیت zeroth و فوتر در اخرین موقعیت recyclereview قرار بگیرد.

در اخر ارایش کلی را بعد از دو شماره اضافه میکنیم تا نشان داده شود که recyclerview  با ارایش هدر و فوتر بزرگتر شده است. پس باید دوباره getItemCount() را بنویسید:

در اخر کد کامل شده ی کلاس اداپتور به صورت زیرخواهد بود:

RecyclerViewAdapter.java

نکته: باید dependency های RecyclerView  و CarView را به app-level build.gradle اضافه کنید تا بتوانید از این دو ویجت استفاده کنید.

 

اجرای اپلیکیشن:

کار اصلی را انجام دادیم حالا بعد از اجرای برنامه باید همچین صفحه ای را ببینید

افزودن آرایش header وfooter به recyclerview در اندروید

 

نتیجه گیری:

 

بعد از مشخص شدن ارایش هر نوع  view  میتوانید به راحتی به recyclerview هدر و فوتر اضافه کنیم. امیدوارم که این پست برای تازه کارهایی که میخواهند به جای listview از recyclerview استفاده کنند مفید باشد.

ترجمه: کاری از گروه آموزشی لرن اس تی یو ، مهرخ اکبری

پاسخ دهید