null 不能转换为非 null 类型 android.support.v4.view.ViewPager - KOTLIN

null cannot be cast to non-null type android.support.v4.view.ViewPager - KOTLIN

我知道这些问题已经得到解答,但我认为这是另一回事。所以,我有以下代码:

viewPager = findViewById<View>(R.id.viewPagerGaleria) as ViewPager
val adapter = ViewPageAdapter(this)
viewPager.adapter = adapter
//dots
val pageIndicatorView = findViewById<View>(R.id.pageIndicatorView) as PageIndicatorView
pageIndicatorView.setViewPager(viewPager)

当我 运行 它发生时:... kotlin.TypeCastException: null 不能转换为非 null 类型 android.support.v4.view.ViewPager。正常到这里,对吧?不,因为当我这样做时,错误是一样的:

val viewPager = findViewById<View>(R.id.viewPagerGaleria) as? ViewPager
val adapter = ViewPageAdapter(this)
viewPager?.adapter = adapter
//dots
val pageIndicatorView = findViewById<View>(R.id.pageIndicatorView) as? PageIndicatorView
pageIndicatorView?.setViewPager(viewPager)

你能帮帮我吗?谢谢。

我同意@TheWanderer,你的问题在这里:findViewById****。

因此,要解决此问题,您可以删除类型并将其替换为并删除强制转换 "as? ViewPager",因为在这种情况下不需要

val viewPager = findViewById<ViewPager?>(R.id.viewPagerGaleria) 

或省略目标 class type definitely and keep the cast

val viewPager = view.findViewById(R.id.viewpager) as? ViewPager

PS : 你的布局中可能没有所需的 viewPager id。

抱歉朋友们,我把代码放错了 class!我的错!