مربوط به تاپیک قبلی

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

سلام خواهشا یکی راه حل این مشکلو به من بگه کاملا توضیح دادم پروژرو کامل قرار دادم ولی هیچ کسی حتی نظرم نمیده. 

لینک تاپیک :

 https://7learn.ac/community/null-%D8%A8%D9%88%D8%AF%D9%86-interface-uYew1

فایل پیوست

معین سعادتمند
معین سعادتمند

29 اسفند 99

1
حذف شده

آقا معین عزیز

شما توی فرگمنت اصلی داخل onViewCreated این خط رو اضافه نکردی:

productListAdapterLatest.onProductClickListener = this

که باعث میشه اینترفیس کار نکنه. من روی پروژه شما اضافه کردم و جواب داد.

 

فایل پیوست

Mostafa Jahani

توسط

Mostafa Jahani

1 فروردین 00

حذف شده
شاید باورتون نشه الان فهمیدم این مورد رو اومدم که بگم مشکل پیدا شد که شما جواب دادی?? خیلی ممنون برای پاسخگویی
معین سعادتمند

1 فروردین 00

حذف شده
خواهش میکنم. من خودم هم برام مرور شد و دوباره یاد گرفتم. دوستان دیگه هم خوبه این سوالات رو برای خودشون چالش بدونن چون درگیر شدن توی این سوالات باعث یادگیری عمیق اون مطلب میشه.
Mostafa Jahani

1 فروردین 00

1
حذف شده

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

 

من پروژه رو دانلود کردم ولی بخاطر کانکشنم و تفاوت در ورژن gradle مون بیلد نشد حتما بررسی میکنم و نتیجه براتون مینویسم .

فایل پیوست

پوریا شفیعی

توسط

پوریا شفیعی

29 اسفند 99

حذف شده
سلام اقا پوریا خیلی خیلی خیلی ممنون. منتظر پاسختون هستم دیگه شما راه حل ندی فک کنم مجبورم پروژه امادرو از ادامش برم.
معین سعادتمند

30 اسفند 99

0
حذف شده

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

تا اونجایی که من متوجه شدم شما توی فرگمنت اصلی بعد از کلیک روی محصول میخوای دوباره بیای به فرگمنت اصلی در حالی که بعد از کلیک روی محصول باید بری به صفحه detail محصول. خب طبیعتاً باید فایل viewModel صفحه detail رو بسازی و از طریق koin اون رو به همراه اینترفیس پاس بدی به صفحه detail. بنابراین باید داخل koin این خط رو اضافه کنی:

viewModel { (bundle: Bundle) -> ProductDetailViewModel(bundle, get()) }

امیدوارم منظورت رو درست متوجه شده باشم.

فایل پیوست

Mostafa Jahani

توسط

Mostafa Jahani

30 اسفند 99

حذف شده
سلام آقا مصطفی ممنون از وقتی که گذاشتین ولی مشکل چیز دیگس مشکل اینه اینترفیسی که باید زمان رخ دادن کلیک محصول رو بفرسته به فرگمنت اصلی تا از اونجا محصول فرستاده شه به اکتیویتیه جزئیات نال اکسپشن میده در حالی که محصول وجود داره و مشکل از اینترفیسه در حالی که تو پیاده سازیش هیچ مشکلی وجود نداره!!!!!!! پروژرو دانلود کنید متوجه منظورم میشید.
معین سعادتمند

30 اسفند 99

0
حذف شده

شما توی این قسمت داری محصول رو پاس میدی به اینترفیس

            itemView.setOnClickListener {

                onProductClickListener?.onProductClick(product)
            }

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

    override fun onProductClick(product: Product) {
        startActivity(Intent(requireContext(), ProductDetailActivity::class.java).apply {
            putExtra(EXTRA_KEY_DATA, product)
        })
    }

و شما ویومدلی نداری که اطلاعات رو برای صفحه بفرسته و نمایش بده داره خطا میده. به نظر من شما مراحل رو درست رفتی فقط باید ادامه بدی و صفحه جزئیات محصول رو هم نمایش بدی اونوقت احتمالاً مشکلت حل میشه.

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

فایل پیوست

Mostafa Jahani

توسط

Mostafa Jahani

1 فروردین 00

حذف شده
من اصلا کاری به صفحه جز‌‌‌‌‌‌ئیات ندارم مشکلم اینه زمانی که onProductClick کال میشه ارور میده و اصلا به فرگمت اصلی نمیرسه که بخواد صفحه جزئیات نشون داده شه. صفحه جزئیات رو اصلا پیاده سازی نکردم چون اصلا اجرا نمیشد برا همین کارای ویو مدلو اینارو انجام ندادم چون با اون ارور اصلا به فرگمت اصلی نمیرفت. شما الان پروژرو بی هیچ تغییری اجرا میکنی رو محصول کلیک میکنی میره به صفحه جزئیات محصولات؟مهم نیست چیزی نمایش بده چون اصلا پیاده سازی نشده می خوام بدونم اون انتقال از فرگمنت به اکتیویتی اتفاق میوفته؟
معین سعادتمند

1 فروردین 00

0
حذف شده

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

 

سال نو مبارک 

 

کماکان پروژه به علت متفاوت بودن ورژن gradle بیلد نشد.

بطور کل اشتباهاتی که در پروژه شما دیدم :

۱:نیازی به اینجکت کردن این موارد نبود

val productListAdapterPopular: ProductListAdapter by inject()
val productListAdapterLatest: ProductListAdapter by inject()

همین مشکل باعث میشد پروژه تغییر کند و روش پیاده سازی متفاوتی به خود بگیرد.

پیشنهاد من بهتون این هست جلسات مربوط به این قسمت رو مجدد ببینید و طبق جلسات پیاده سازی رو جلو ببرید

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

پیشنهاد دومی هم که دارم ادامه سورس کد موجود در بخش پیوست جلو نرید اینطوری زیاد متوجه نوع پیاده سازی سازی پروژه نمیشید و براتون مشکل زا خواهد شد.

پس بطور کل مشکلات شما صفحه : HomeFragment 

فایل پیوست

پوریا شفیعی

توسط

پوریا شفیعی

1 فروردین 00

حذف شده
طولانی بود به شکل پاسخ ارسال کردم ????????????????
معین سعادتمند

1 فروردین 00

0
حذف شده

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

var onProductClickListener: OnProductClickListener? = null 

ای دی تلگرام و شماره اگه لطف کنی یه پی ام بدی خیلی راحت تر میتونم نشون بدم مشکلو و کاملا توضیح بدم.

@moeinx_x

۰۹۳۵۷۱۱۴۱۰۳
الان پروژه اماده هستش میشه سوییچ کرد روش از مشکل گذشت ولی در اینده اینطور نیست.

فایل پیوست

معین سعادتمند

توسط

معین سعادتمند

1 فروردین 00

حذف شده
سلام حتما @PouriaShafiee ای دی تلگرامم خدمت شما اونجا مشکل رو حل میکنیم .
پوریا شفیعی

1 فروردین 00