Вызов метода для нулевой ссылки kotlin расширений - PullRequest
0 голосов
/ 06 января 2020

Итак, я получаю действительно странную ошибку в своем фрагменте:

java.lang.NullPointerException: Attempt to invoke virtual method 'void android.view.View.setOnClickListener(android.view.View$OnClickListener)' on a null object reference
        at com.halalrishtey.ProfessionalDetailsFragment.onViewCreated(ProfessionalDetailsFragment.kt:47)
        at androidx.fragment.app.FragmentManagerImpl.moveToState(FragmentManagerImpl.java:892)
        at androidx.fragment.app.FragmentManagerImpl.addAddedFragments(FragmentManagerImpl.java:2100)
        at androidx.fragment.app.FragmentManagerImpl.executeOpsTogether(FragmentManagerImpl.java:1874)
        at androidx.fragment.app.FragmentManagerImpl.removeRedundantOperationsAndExecute(FragmentManagerImpl.java:1830)
        at androidx.fragment.app.FragmentManagerImpl.execPendingActions(FragmentManagerImpl.java:1727)
        at androidx.fragment.app.FragmentManagerImpl$2.run(FragmentManagerImpl.java:150)
        at android.os.Handler.handleCallback(Handler.java:751)
        at android.os.Handler.dispatchMessage(Handler.java:95)
        at android.os.Looper.loop(Looper.java:154)
        at android.app.ActivityThread.main(ActivityThread.java:6077)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:866)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:756)

Я получаю нулевую ссылку на кнопку, к которой я получаю доступ внутри функции onViewCreated через kotlin-extensions, вот так:

uploadAdhar_Button.setOnClickListener {
    findNavController().navigate(R.id.action_professionalDetails_to_uploadImageFragment)
}

Это работало раньше, я не знаю, что пошло не так, пожалуйста, помогите!

1 Ответ

1 голос
/ 06 января 2020

Go для import операторов ProfessionalDetailsFragment и import правильного синтеза c. Это должно быть то же самое xml, которое надувается на ProfessionalDetailsFragment.

. Я думаю, что uploadAdhar_Button id используется некоторыми другими представлениями в другом .xml file тоже!

import kotlinx.android.synthetic.main.fragment_professional_details.*

Также удалить другой import statement из неиспользованных .xml

...