🔥 ۴۰ درصد تخفیف ثبت‌نام دوره‌ها قبل از افزایش قیمت‌ها
۰ ثانیه
۰ دقیقه
۰ ساعت
۳ میچکا قهرمانی
تعین پارامتر ورودی متد smoothScrollToPosition
نیک رهنما حل شده توسط نیک رهنما

با سلام

 

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

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

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

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

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

فریان حبیبی ۲۴ تیر ۱۳۹۹، ۲۲:۵۲

سلام و احترام 

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

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

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

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

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

ارادتمند.

بهترین پاسخ
نیک رهنما ۲۶ تیر ۱۳۹۹، ۰۸:۳۹

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

 

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

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

 

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

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

میچکا قهرمانی ۲۶ تیر ۱۳۹۹، ۱۴:۴۲