我知道这些问题已经回答,但是我认为这是另一回事。因此,我有以下代码:
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)
你能帮我吗?谢谢。
答案 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)
对不起,队友,我把代码放错了类!我的坏人!