دوره زبان تخصصی برای برنامه‌نویسان (هدیه ویژه ثبت‌نام در دوره‌های متخصص) (فرصت محدود ⏰)
۰ ثانیه
۰ دقیقه
۰ ساعت
۳ رحیم
مشکل هنگام inflate کردن Adapter Recycler
جامعه جاوا (اندروید) ایجاد شده در ۰۶ آذر ۱۳۹۹

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

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

سلام

به این شکل میتونید مشکل رو رفع کنید:

View view = LayoutInflater.from(context).inflate(R.layout.cardview_main_recycler,parent,false);
        return new ViewHolderRecycler(view);
Hamed Hardani ۰۶ آذر ۱۳۹۹، ۰۹:۵۵

سلام و احترام 

 

رحیم جان شما فراموش کردین کدی که نوشتید رو به عنوان ارگومان کانستراکتور ViewHolderREcycler قرار بدین یعنی :

return new ViewHolderRecycler(LayoutInflater.from(context).inflate(R.layout.cardview_main_recycler,parent,false));
پوریا شفیعی ۰۶ آذر ۱۳۹۹، ۱۰:۲۸

درسته منم الان بازبینی کردم احتمالا این قسمت در کات ویدیو قرار گرفته.

اگر doc مربوط به google نیز بخوانید خواهید دید طبق اون مرحله ای که به شما گفتم باید رفتار کنید .(که استاد هم اموزشش در سر فصل recycler دادند)

داکیومنتیشن مربوطه:

https://developer.android.com/guide/topics/ui/layout/recyclerview#java

قسمت از کد مربوطه در داکیومنتیشن:

@Override
    public ViewHolder onCreateViewHolder(ViewGroup viewGroup, int viewType) {
        // Create a new view, which defines the UI of the list item
        View view = LayoutInflater.from(viewGroup.getContext())
                .inflate(R.layout.text_row_item, viewGroup, false);
        return new ViewHolder(view);
    }

دقت کنید LayoutInflater یک instance از کلاس View رو برمیگرداند و اگر شما return کنید عملا به خطا میخورید چرا که مقدار بازگشتی باید از نوع ViewHolder باشد .(همانطور که متد شما گویای این قضیه هست)

موفق باشید.

پوریا شفیعی ۰۶ آذر ۱۳۹۹، ۱۴:۴۳