0

我正在尝试使用 Kotlin 构建我的第一个 android 应用程序,但我陷入了一个非常简单的情况。我正在使用 Kotlin android 扩展,我得到一个空指针异常。

<TextView
        android:id="@+id/tvGoToRegisterFrag"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@id/btn_sign_in"
        android:text="@string/haven_t_registered_yet"
        android:paddingTop="10dp"
        android:textColor="@color/colorAccent"
        android:layout_centerHorizontal="true"/>

有了这个我用

tvGoToRegisterFrag.setOnClickListener {
        goToRegister()
    }

我知道我可以使用

tvGoToRegisterFrag?.setOnClickListener {
        goToRegister()
    }

为了摆脱崩溃,但我仍然不确定为什么该对象为空并且单击时不执行任何操作。如果这改变了任何东西,所有这些都在一个片段中完成。

4

1 回答 1

1

您可能会获得 NPE 的一个原因是您在错误的生命周期方法中使用它我在使用它时遇到了类似的错误,onCreateView您应该只在onViewCreated.

于 2017-11-06T00:08:29.813 回答