我正在 Android Studio 中开发一个应用程序,但是当我运行它时,我收到以下错误:
Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.Button.setOnClickListener(android.view.View$OnClickListener)' on a null object reference
我怎样才能解决这个问题?
我正在 Android Studio 中开发一个应用程序,但是当我运行它时,我收到以下错误:
Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.Button.setOnClickListener(android.view.View$OnClickListener)' on a null object reference
我怎样才能解决这个问题?
检查以下事情是否正确完成:
您的按钮出现在与 java 代码一起附加的适当 XML 布局中。像这样:
<Button
android:id="@+id/btn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/button_text" />
检查此按钮是否已在您的 java 代码中声明和初始化。像这样:
Button btn = findViewById(R.id.btn);
检查 onClickListner 是否正确设置为此按钮。像这样:
btn.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
// Do something in response to button click here
Toast.makeText(context, "button clicked!!!", duration).show();
}
});
在设置监听器之前,请确保您的按钮视图已初始化(即 findViewById 或通过依赖注入)。