Kotlin使用Kotlin的Android Extensions抛出NullPointerException

时间:2017-12-22 19:04:02

标签: android nullpointerexception kotlin-android-extensions

我正在使用Kotlin制作一个Android应用程序,但在尝试使用Kotlin的Android扩展程序访问布局元素时,我一直得到NullPointerException。代码有点复杂,所以我将尝试用一个简单的例子来解释这个问题。 假设我有一个带有按钮和textView的布局second_layout.xml

<LinearLayout ...>

    <TextView
        android:id="@+id/textView"
        ..../>
    <Button
        android:id="@+id/button"
        android:onClick="onButtonClicked"
        ... />

</LinearLayout>

在主要活动中,我想在单击按钮时更改textView文本:

import kotlinx.android.synthetic.main.second_layout.*

override fun onCreate(savedInstanceState: Bundle?) {
    ...
}

fun onButtonClicked(view: View) {
    textView.text = "TextView text has changed"
}

现在,当我单击按钮时,Kotlin会抛出一个NullPointerException,显然textView属性为null。我希望上面的代码是清楚的。

有没有人知道发生了什么?我做错什么了吗?感谢。

0 个答案:

没有答案