در ادامه درباره این موضوع صحبت شده اما من پیشنهاد میکنم قبل از اون این سوالی که پرسیدید رو به عنوان یک چالش و حل مسءله برای خودتون مطرح کنید که چطوری میتونید چنین کاری کنید ؟
راهنمایی متد زیر باید تغییراتی کنه :
public void addNewContact(String fullName) {
contacts.add(0, fullName);
notifyItemInserted(0);
}
پوریا شفیعی۲۷ اردیبهشت ۱۴۰۱، ۲۰:۱۸
ایت رو نوشتم و به اخر اضافه شد.اما مفهموش نفهمیدم
این یعنی چی دقیقا سایز ارایه کم میشه ....
Mahmood Khademi۲۸ اردیبهشت ۱۴۰۱، ۰۳:۰۲
ببینید وقتی contacts.size() رو بزنید در واقع دارید طول آرایه رو میگیرید فرض کنید ارایه زیر رو دارید .
ArrayList<String> cars = new ArrayList<String>();
cars.add("Volvo");
cars.add("BMW");
cars.add("Ford");
cars.add("Mazda");
در واقع این ارایه ۴ عضو دارد.
همونطور که میدونید اندیس ارایهها از 0 شروع میشود پس اینطوری شمارش میکنیم:
اندیس شماره صفرم یعنی Volvo
اندیس شماره اول یعنی bmw
اندیس شماره دوم یعنی Ford
اندیس شماره سوم یعنی Mazda
حال وقتی بخواهید از متد add در جاوا استفاده کنید به عنوان پارامتر از شما اندیس میخواهد (در واقع میگوید آیتمی که میخواهید اضافه کنید رو در کدام اندیس قرار بدهم؟) که طبق چیزی که شما نوشتید گفتید در اندیس آخر قرار بده که برای این کار ابتدا سایز ارایه رو گرفتید و سپس منهای ۱ کردید پس دلیل اینکه منهای یک کردید بخاطر این هست که اندیسها از صفر شروع میشوند در حالی که وقتی سایز یک ارایه رو بگیرید تعداد ایتمهای در آن ارایه به شما برگردانده میشود.