متود onItemClick

پرسیده شده
فعالیت 977 روز پیش
دیده شده 492 بار
0

با سلام 

سوالی که برای من پیش اومده اینه که این متود onItemClick متود void هستش و استاد گفته بودن که متود های void خروجی ندارند! پس چجوری اطلاعات مربوط به fullname و position بر روی ایتم های صفحه main activity ست میشن ؟

چون من هرچی نگاه میکنم باید دکمه از سمت کاربر فشرده بشه و اگر هم اطلاعات هم از سمت main activity گرفته بشن و بر روی edittext ست بشن بازهم نیازه که متود onitemclick تو قسمت onclick صدا زده بشه! 

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

 

فایل پیوست

دانیال مهاجر
دانیال مهاجر

4 شهریور 00

0
حذف شده

سلام دانیال عزیز وقت بخیر

بهت حق میدم توی مبحث ریسایکلر ویو کمی متوجه نشی اما هیچ اشکالی نداره این مبحث یکی از پیچیده ترین مباحث برای شروع برنامه نویسی اندروید هست و لازمه یادگرفتنش هم تمرین هست البته که از این جلسه تا اخرین سرفصل خیلی خیلی این مبحث استفاده میشه و براتون جا میفته

 

اما بریم پاسخ سوال ببینید :

 

ما این متد رو نوشتیم و در onBindViewHolder از اون استفاده کردیم

public void bindContact(final String fullname) {
            fullnameTv.setText(fullname);
            firstCharacterTv.setText(fullname.substring(0, 1));
            itemView.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    itemEventListener.onItemClick(fullname,getAdapterPosition());
                }
            });
        }
    }

در این متد هر بار که متد onBindViewHolder کال زده بشه عملا bindContact هم صدا زده میشه.

@Override
    public void onBindViewHolder(@NonNull ContactViewHolder holder, int position) {
        holder.bindContact(contacts.get(position));
    }

و ایتم ها برامون ست میشن

به عبارتی

()onBindViewHolder باید داده‌های مناسب را بارگیری کند، و از آن برای پر کردن view holder's layout استفاده کند. به عنوان مثال، اگر RecyclerView لیستی از نام‌ها را نشان می‌دهد، ممکن است متد نام مناسب را در لیست پیدا کند، و ویجت TextView را پر کند.

 

پیشنهاد میکنم مقاله رو به رو رو هم مطالعه کنید .

لینک

 

 

 

 

 

 

 

فایل پیوست

پوریا شفیعی

توسط

پوریا شفیعی

4 شهریور 00

حذف شده
سلام پوریای عزیز خیلی ممنون از وقتی که گذاشتی ، پس یعنی لازم نیست تو main activity کال بشه چون داره هر بار تو اداپتر کال میشه چون خود اداپتر تو activity main داره call میشه و استفاده میشه
دانیال مهاجر

4 شهریور 00

0
حذف شده

سلام دوست عزیز وقت بخیر منظور استاد از متد void اینکه خروجی نداره به عنوان مثال اگر من برای یک کلاس متدی استفاده کنم که خروجی string باشه مثل public String getText() باید برای این متد خروجی هم تایین کنم ولی وقتی میگه متد void هستش یعنی خروجی نداره . باز هم اگه متوجه نشدین میتونین به من تو اینستا پیام بدین تا با ویس و فیلم بهتون توضیح بدم . thisisrasoul

 

فایل پیوست

Mohmmad Rasoul Abdi

توسط

Mohmmad Rasoul Abdi

4 شهریور 00

حذف شده
خیلی ممنون از وقطی که گذاستی ولی من این قضیه که متود وید خروجی نداره رو میدونستم فقط کاربردشو یکم تو اکتیویتی مین گم کردم که تو اخر ویدیو یکم قابل فهم تر شد برام.
دانیال مهاجر

4 شهریور 00