CardStackView null - PullRequest
       16

CardStackView null

0 голосов
/ 27 декабря 2018
class HomeFragment : Fragment(), CardStackListener {


val cardStackView = card_stack_view

val manager = CardStackLayoutManager(getActivity(), this)

private val adapter by lazy { CardStackAdapter(createSpots()) }

override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {
    val homeFragmentView : View = inflater!!.inflate(R.layout.fragment_home, container, false)


    cardStackView.layoutManager = manager
    setupCardStackView()
    setupButton()
    return homeFragmentView
}

* Сообщение об ошибке «cardStackView не должно быть пустым». Ошибка в «cardStackView.layoutManager = manager». Что я могу сделать для решения этой проблемы ... *

Ответы [ 2 ]

0 голосов
/ 27 декабря 2018

Можете ли вы добавить, какой CardStackView вы используете?Существует несколько библиотек, которые реализуют такое представление (некоторые из них имеют хорошую документацию, например https://github.com/yuyakaido/CardStackView и https://github.com/loopeer/CardStackView).

. Вы можете найти примеры использования CardStackView для Android наПереполнение стека или с помощью Google.

Обновление Проблема может быть вызвана тем, что поле менеджера может быть нулевым. Что произойдет, если вы полностью инициализируете функцию?

val manager = CardStackLayoutManager()
val adapter = CardStackAdapter()

val cardStackView = findViewById<CardStackView>(R.id.card_stack_view)
cardStackView.layoutManager = manager
cardStackView.adapter = adapter
0 голосов
/ 27 декабря 2018

добавить знак вопроса после cardStackView, например:

cardStackView?.layoutManager = manager

Я думаю, cardStackView обнуляется, и IDE говорит, что эта строка может привести к NullPointerException

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