无法将null强制转换为非null类型android.support.v4.view.ViewPager-KOTLIN

时间:2018-10-29 16:37:09

标签: android mobile kotlin null viewpage

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

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)

你能帮我吗?谢谢。

2 个答案:

答案 0 :(得分:0)

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

因此,要解决此问题,您可以删除类型并替换为它,并摆脱类型转换为“ as?ViewPager”,因为在这种情况下不需要

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

或者明确地省略目标类的类型并保留演员表

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

PS:您的布局中可能没有所需的viewPager ID。

答案 1 :(得分:0)

对不起,队友,我把代码放错了类!我的坏人!