null بودن Interface

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

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

 class ProductListAdapter(val imageLoadingService: ImageLoadingService) :
    RecyclerView.Adapter<ProductListAdapter.ViewHolder>() {

    var onProductClickListener: OnProductClickListener?=null

    var products = ArrayList<Product>()
        set(value) {
            field = value
            notifyDataSetChanged()
        }

    inner class ViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) {

        val productIv: NikeImageView = itemView.findViewById(R.id.productIv)
        val titleTv: TextView = itemView.findViewById(R.id.productTitleTv)
        val currentPriceTv: TextView = itemView.findViewById(R.id.currentPriceTv)
        val previousPriceTv: TextView = itemView.findViewById(R.id.previousPriceTv)

        fun bindProduct(product: Product) {
            imageLoadingService.load(productIv, product.image)
            titleTv.text = product.title
            currentPriceTv.text = formatPrice(product.price)
            previousPriceTv.text = formatPrice(product.previous_price)
            previousPriceTv.paintFlags = Paint.STRIKE_THRU_TEXT_FLAG
            itemView.implementSpringAnimationTrait()
            itemView.setOnClickListener {
                Timber.i(product.toString())
                onProductClickListener?.onProductClick(product)
            }
        }
    }

    override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder {
        return ViewHolder(
            LayoutInflater.from(parent.context).inflate(R.layout.item_product, parent, false)
        )
    }

    override fun onBindViewHolder(holder: ViewHolder, position: Int) =
        holder.bindProduct(products[position])

    override fun getItemCount(): Int = products.size


    interface OnProductClickListener {
        fun onProductClick(product: Product)
    }
}
فایل پیوست

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

26 اسفند 99

0
حذف شده

سلام وقت بخیر

 

پروژه رو ارسال بفرمایید .

یا جزییات بیشتری از کارهایی که کردید و اروری که برخورد کردید بگید.

فایل پیوست

پوریا شفیعی

توسط

پوریا شفیعی

27 اسفند 99

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

27 اسفند 99

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

27 اسفند 99

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

27 اسفند 99

حذف شده
علتشم حتی فهمیدم زمانی که koin از ProductListAdapter نمونه میسازه اصلا var onProductClickListener:OnProductClickListener?=null کال نمیشه چرا کال نمیشه هنوز نمی دونم چون هیچ مشکلی وجود نداره احتمال داره از koin باشه این مشکل؟ منظورم از ورژنشه چون متفاوت بود یکیش کردم پروژرو دوباره بیلد کردم بازم درست نشد
معین سعادتمند

29 اسفند 99

حذف شده
علتشم حتی فهمیدم زمانی که koin از ProductListAdapter نمونه میسازه اصلا var onProductClickListener:OnProductClickListener?=null کال نمیشه چرا کال نمیشه هنوز نمی دونم چون هیچ مشکلی وجود نداره احتمال داره از koin باشه این مشکل؟ منظورم از ورژنشه چون متفاوت بود یکیش کردم پروژرو دوباره بیلد کردم بازم درست نشد.
معین سعادتمند

29 اسفند 99

حذف شده
علتشم حتی فهمیدم زمانی که koin از ProductListAdapter نمونه میسازه اصلا var onProductClickListener:OnProductClickListener?=null کال نمیشه چرا کال نمیشه هنوز نمی دونم چون هیچ مشکلی وجود نداره احتمال داره از koin باشه این مشکل؟ منظورم از ورژنشه چون متفاوت بود یکیش کردم پروژرو دوباره بیلد کردم بازم درست نشد.
معین سعادتمند

29 اسفند 99

0
حذف شده

لینک گوگل درایو

https://drive.google.com/file/d/1GEJIZghbKRVyLNjJBh_O8yh4_pAdLQOz/view?usp=sharing

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

داکیومنت های کاتلینو داشتم میخوندم بخش مربوط به اینترفیسو که مثال زده بود متود ها هم نام میتونن باعث بروز خطا بشن من دو ردیف لیست محصولات دارم لیست محصولات factory هستش من دوتا اداپتر جدا ساختم با اینترفیس های نام متفاوت درست نشد (ربطی نداشت شاید ولی امتحان کردم) کلا یه لیستو پاک کردم بازم درست نشد.

فایل پیوست

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

توسط

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

27 اسفند 99

0
حذف شده

اینم اروری که رخ میده 

    java.lang.NullPointerException
        at com.example.nikestore.feature.homeFragment.ProductListAdapter$ViewHolder$bindProduct$1.onClick(ProductListAdapter.kt:43)
        at android.view.View.performClick(View.java:5637)
        at android.view.View$PerformClick.run(View.java:22429)
        at android.os.Handler.handleCallback(Handler.java:751)
        at android.os.Handler.dispatchMessage(Handler.java:95)
        at android.os.Looper.loop(Looper.java:154)
        at android.app.ActivityThread.main(ActivityThread.java:6119)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:886)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776)
فایل پیوست

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

توسط

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

28 اسفند 99

0
حذف شده

سلام معین جان

امیدوارم حالت خیلی خوب باشه

 

بهترین پیشنهادی که میتونم بدم اینه که فایل پروژه‌ای که استاد قرار دادند رو دانلود کنید و inject کردن آداپتر رو از اونجا بررسی کنید

 

سال جدید رو پیشاپیش تبریک میگم

با آرزوی موفقیت و سلامتی و خوشحالی

فایل پیوست

Hamidreza Karimi

توسط

Hamidreza Karimi

29 اسفند 99

حذف شده
سلام ممنون. مو به مو بررسی کردم هیچ مشکلی پیدا نکردم.
معین سعادتمند

29 اسفند 99