Нулевое значение не может быть приведено к ненулевому типу android.support.v4.view.ViewPager - KOTLIN - PullRequest
0 голосов
/ 29 октября 2018

Я знаю, что на этот вопрос уже дан ответ, но я думаю, что это другое дело. Итак, у меня есть следующий код:

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: ноль не может быть приведен к непустому типу 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 голосов
/ 29 октября 2018

Извините, приятели, я поместил этот код в неправильный класс! Мой плохой!

0 голосов
/ 29 октября 2018

Я согласен с @TheWanderer, ваша проблема здесь: findViewById ****.

Таким образом, чтобы исправить это, вы можете удалить тип и заменить его на и избавиться от приведения «as? ViewPager», так как он не нужен в этом случае

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

Или определенно не указывайте тип целевого класса и сохраняйте приведение

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

PS: И, возможно, у вас нет требуемого идентификатора viewPager в вашем макете.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...