MZBannerView icon indicating copy to clipboard operation
MZBannerView copied to clipboard

kotlin中申明MZBannerView。必须带范型吗?MZBannerView<BannerBean>这样声明后出现报错

Open lewolicc opened this issue 7 years ago • 4 comments

kotlin中 声明var bannerView: MZBannerView<BannerBean>?=null 然后调用bannerView .setDelayedTime()不支持,报错Error:(61, 9) Smart cast to 'MZBannerView<BannerBean>!' is impossible, because 'bannerView' is a mutable property that could have been changed by this time 我用Java写的时候可以不带范型,但是kotlin必须带才不报错,然后这样调用setDelayedTime方法就会报错

lewolicc avatar Oct 09 '18 12:10 lewolicc

Out-projected type 'MZBannerView<>!' prohibits the use of 'public open fun setPages(datas: (Mutable)List<T!>!, mzHolderCreator: MZHolderCreator<(raw) MZViewHolder<>!>!): Unit defined in com.zhouwei.mzbanner.MZBannerView'

clbDream avatar Oct 29 '18 11:10 clbDream

我使用kotlin报了这样的错,可以帮忙解决一下吗

clbDream avatar Oct 29 '18 11:10 clbDream

(rootBinding.banner as MZBannerView<List<Royalty>>).setPages(newList) { ViewPagerHolder() } @clbDream

CodeK1988 avatar Mar 04 '19 01:03 CodeK1988

private lateinit var mMZBanner: MZBannerView<HomePagerContent.DataBean> mMZBanner = headerView.findViewById(R.id.banner)

    mMZBanner.setPages(
        dataBean,
        MZHolderCreator<BannerViewHolder> { BannerViewHolder() })

    mMZBanner.start()

override fun onPause() { super.onPause() if (::mMZBanner.isInitialized) { mMZBanner.pause() } }

override fun onResume() {
    super.onResume()
    if (::mMZBanner.isInitialized) {
        mMZBanner.start()
    }
}

xiaolunan avatar May 12 '21 07:05 xiaolunan