Кнопка всегда равна нулю при попытке ее найти?

#kotlin

#kotlin

Вопрос:

У меня есть этот код:

     val btn_click_me = findViewById(R.id.button1) as? Button
    btn_click_me?.setOnClickListener {
        // do something
    }
  

что дает мне эту ошибку:
java.lang.NullPointerException: null cannot be cast to non-null type android.widget.Button даже если он существует в моем файле макета

кнопка всегда имеет значение null. как я могу исправить? как я могу настроить прослушиватель щелчков на кнопку?

делаем это из фрагмента…

Комментарии:

1. где вы пытаетесь выполнить это действие или фрагмент ?!

2. фрагмент @HenriqueVasconcellos

3. Пожалуйста, предоставьте больше контекста. Неясно, где вы создаете и настраиваете свой вид.

Ответ №1:

Вам нужен контекст, чтобы найти ваш ViewById. Я рекомендую делать с requireContext() следующим образом

     val btn_click_me = requireContext().findViewById(R.id.button1) as? Button
    btn_click_me?.setOnClickListener {
        // do something
    }
  

Кроме того, если вы хотите изучить другие способы сделать это, я рекомендую искать viewBinding