我是新的java和android,我得到这个错误:原因:java. lang.空指针异常:尝试对空对象引用调用虚拟方法"android. view. View android. widget. Button. findViewById(int)"
下面是我的www.example.com代码:MainActivity.java code:
package com.example.intentpassingoneactivitytoanother;
import androidx.appcompat.app.AppCompatActivity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;
public class MainActivity extends AppCompatActivity {
Button button;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
button.findViewById(R.id.btn);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent=new Intent(MainActivity.this, SecondActivity.class);
startActivity(intent);
// Toast.makeText(MainActivity.this, "This is toast", Toast.LENGTH_SHORT).show();
}
});
}
}
下面是我的activity_main. xml代码:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<Button
android:id="@+id/btn"
android:layout_gravity="center"
android:layout_marginHorizontal="120dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="NextButton"/>
</LinearLayout>
1条答案
按热度按时间f0brbegy1#
您试图在未初始化的情况下访问该按钮。
button.findViewById(R.id.btn)
应该是
button = findViewById(R.id.btn)
按钮在调用findViewById之前为null,因此异常提示尝试对空引用对象调用findViewById。
希望能有所帮助!