当前位置: 首页 > 知识库问答 >
问题:

我得到这个错误:尝试调用虚方法'android.view.Viewandroid.widget.Button.findViewById(int)'空对象引用

司徒翼
2023-03-14

我是java和android的新手,我收到这个错误:由:java.lang.NullPointerException:尝试在空对象引用上调用虚拟方法'android.view.View android.widget.Button.findViewById(int)'

这是我的MainActivity.java代码:

    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个答案

钱志
2023-03-14

您正在尝试在不初始化按钮的情况下访问该按钮。

按钮。findViewById(R.id.btn)
应该是
button=findviebyid(R.id.btn)。

按钮在调用findViewById之前为空,因此异常表示尝试在空引用对象上调用FindView ById。

希望有帮助!

 类似资料: