💻 آخرین فرصت یادگیری برنامه‌نویسی با آفر ویژه قبل از افزایش قیمت در ۵ آذر ماه (🎁 به همراه یک هدیه ارزشمند )
۰ ثانیه
۰ دقیقه
۰ ساعت
۶ احمدرضا عبداللهی
SnackBar in Adapter
میلاد عزیززاده حل شده توسط میلاد عزیززاده

وقت بخیر

اگر بخواهیم در setOnclickListener یک SanckBar نمایش بدیم، چطور میتونیم instance View رو تامین کنیم؟

سلام وقت بخیر اگر کد مربوط به SnackBar داخل Adapter قرار دارد باید از طریق constructor تامین شود ولی روش بهتر این است که فرگمنت یا اکتویتی از این کلیک با خبر بشن و SnackBar را نمایش دهند.

میلاد عزیززاده ۰۲ بهمن ۱۴۰۲، ۰۶:۵۰

یعنی به این شکل؟

public class ContactAdapter extends RecyclerView.Adapter<ContactAdapter.ContactViewHolder> {
    View fragmentView;
    public ContactAdapter(View view){
        this.fragmentView=view;
        }
احمدرضا عبداللهی ۰۲ بهمن ۱۴۰۲، ۱۴:۵۰

context رو بدی بهتره با context هم میتونی اسنک بار رو نشون بدی

میلاد عزیززاده ۰۳ بهمن ۱۴۰۲، ۰۵:۵۴

ممنونم

ولی حتما باید View داده بشه تا بشه SnackBar رو نمایش داد

احمدرضا عبداللهی ۰۵ بهمن ۱۴۰۲، ۱۲:۲۶

خوب داخل فرگمنت با استفاده از requireView() ویو رو به آداپتر بده

میلاد عزیززاده ۰۷ بهمن ۱۴۰۲، ۰۷:۱۱

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

بهترین پاسخ
میلاد عزیززاده ۰۷ بهمن ۱۴۰۲، ۰۷:۱۲