تعین پارامتر ورودی متد smoothScrollToPosition

پرسیده شده
فعالیت 1383 روز پیش
دیده شده 542 بار
1

با سلام

 

اگر بعد از اضافه کردن یه آیتم جدید به لیست Contacts  و اطلاع به RecyclerView در adapter، لیستمون رو sort کنیم پارامتر ورودی متد recyclerView.smoothScrollToPosition(0); در Activity

 رو چطوری میتونیم مشخص کنیم که به position آیتم جدیدالورود سوئیچ کنه؟

فایل پیوست

پژمان آزاد
پژمان آزاد

24 تیر 99

2
حذف شده

سلام و احترام 

ما برای حل این مشکل میتونیم بجای عدد 0 بیایم و list - 1 رو در نظر بگیریم (منظور از لیست همون نام متغیر لیست شماست)

اما چرا منهای 1؟ چون لیست یا آرایه از صفر شروع به شمارش میشن مثلا: صفر یک دو سه چهار (درسته که چهار عدد داریم ولی از صفر شروع به شمارششون میکنیم)

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

پس در این مثال میتونین این کد رو جایگزین کنید :

recyclerView.scrollToPosition(adapter.getItemCount()-1);

ارادتمند.

فایل پیوست

پوریا شفیعی

توسط

پوریا شفیعی

26 تیر 99

3
حذف شده

سلام خسته نباشید جانم

میشه بدونم لیستتون رو چطور sort کردید؟

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

فایل پیوست

Pouya Rezaie

توسط

Pouya Rezaie

24 تیر 99

حذف شده
درود. کد sortش رو ننوشتم. فرض کردم اگر بعد از اضافه شدن آیتمی به position صفر و اطلاع به RecyclerView بیاییم و لیستمون رو sort کنیم. حالا و با تغییر posiotion آیتم جدیدالورود چگونه درون MainActivity به RecyclerView بگیم سوئیچ کن روی آیتم جدید و نمایشش بده.
پژمان آزاد

25 تیر 99

1
حذف شده

ممنون پوریا جان

 

درسته که positionها از عدد صفر شروع میشن ولی اگر فرضا ما 20 آیتم داشته باشیم که positionشون میشه از0 تا 19 ولی getItemCount() عدد 20 رو برمیگردونه درست نمیگم؟ و وقتی منهای 1ش میکنیم میره به position 19

فکر نمیکنم برنامه اینطوری درست کار کنه.

 

 از طرفی این به شرطی هست که عملیات sort روی position آیتم جدیدالورود باشه. اگر روی حرف اول کاراکتر fullName عملیات sort رو انجام بدیم ضمن اینکه این وسطا ممکنه حذف و ویرایش هم داشته باشیم.

برنامه از کجا تشخیص بده position این آیتم جدید کجاست؟

فایل پیوست

پژمان آزاد

توسط

پژمان آزاد

26 تیر 99