【发布时间】:2018-10-29 16:37:08
【问题描述】:
我知道这些问题已经得到解答,但我认为这是另一回事。所以,我有以下代码:
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)
你能帮帮我吗?谢谢。
【问题讨论】:
-
您确定 ID 确实在您的布局中吗?此外,
<>中的类型也在那里,因此您可以指定该 ID 是哪个视图。findViewById<View>(R.id.viewPagerGaleria) as ViewPager可以缩写为findViewById<ViewPager(R.id.viewPagerGaleria)。 -
@TheWanderer 是的,先生,它是......
-
你确定吗?如果
findViewById()返回null,则表示找不到该名称的任何视图。这些方法在哪里被调用,setContentView()在哪里被调用?你确定你设置了正确的布局吗?
标签: android mobile kotlin null viewpage