单击文本视图以更改片段

Clicking a textview to change fragment

我正在尝试使用 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()
    }

为了避免崩溃,但我仍然不确定为什么对象为空并且在单击时不执行任何操作。如果有任何改变,所有这些都在 Fragment 中完成。

你可能得到 NPE 的一个原因是你在错误的生命周期方法中使用它我在 onCreateView 中使用它时遇到了类似的错误而不是你应该只使用 Kotlin android 扩展在 onViewCreated.