NullPointerException при использовании Kotlin ViewBinding внутри фрагмента - PullRequest
0 голосов
/ 05 октября 2019

Я пытаюсь добавить прослушиватель кликов к кнопке внутри моего фрагмента, используя привязку представления kotlin. Я устанавливаю слушатель щелчка в методе onCreateView. Когда я делаю это, я получаю исключение нулевого указателя, так как кнопка еще не создана. Я думал, что привязка представления kotlin заботится об инициализации представления, поэтому кнопка не должна быть нулевой?

Вот мой код:

class FragmentStart : Fragment() {

    override fun onCreateView(
        inflater: LayoutInflater, container: ViewGroup?,
        savedInstanceState: Bundle?
    ): View? {
        val view = inflater.inflate(R.layout.fragment_start, container, false)
        start_button.setOnClickListener(
            Navigation.createNavigateOnClickListener(R.id.action_fragmentStart_to_fragmentQuestion,null)
        )
        return view
    }
}

Вот исключение:

java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.Button.setOnClickListener(android.view.View$OnClickListener)' on a null object reference

1 Ответ

0 голосов
/ 05 октября 2019

Поскольку представление еще не было создано. Вы должны вызвать представление в функции onViewCreated (). читать дальше

 override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
        super.onViewCreated(view, savedInstanceState)

start_button.setOnClickListener(
                Navigation.createNavigateOnClickListener(R.id.action_fragmentStart_to_fragmentQuestion,null)
            )
    }
...