每次按下按钮都会崩溃"Android Studio"

Getting a crash every time i press a button"Android Studio"

我正在尝试制作一个移动应用程序,但每当我尝试按下按钮时,我都会崩溃。该按钮应将我带到一个新的 activity 页面,我已经以正确的方式将其他页面与该按钮连接起来。我只是想知道这段代码是否正确:

    public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);




    }

    public void onButtonClick(View v)
    {
        Button a1= (Button) findViewById(R.id.button);
        a1.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent intent = new Intent(MainActivity.this, SecondPage.class);
                startActivity(intent);
            }
        });

    }
    public void onButtonClick1(View c)
    {
        Button a1= (Button) findViewById(R.id.button2);
        a1.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent intent=new Intent(MainActivity.this, ThirdPage.class);
                startActivity(intent);
            }
        });

    }
    public void onButtonClick2(View d)
    {
        Button a1= (Button) findViewById(R.id.button3);
        a1.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent intent=new Intent(MainActivity.this, FourthPage.class);
                startActivity(intent);
            }
        });

    }
    public void onButtonClick3(View f)
    {
        Button a1= (Button) findViewById(R.id.button4);
        a1.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent intent=new Intent(MainActivity.this, FifthPage.class);
                startActivity(intent);
            }
        });

    }

}

我刚刚从 youtube 上的一些视频中学习了 java,所以我不确定我的 activity 功能是否正常。谢谢

之后可能有几个原因

1) 确保您在清单文件

中定义了 activity

2) 在 xml 文件中检查 android:onClick=""..

尝试在 onCreate() 方法中绑定按钮。

并且您可以简单地将其用于 onClick

a1.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            Intent intent = new Intent(MainActivity.this, SecondPage.class);
            startActivity(intent);
        }
    });

删除 activity_main.xml 文件中的 onClick 属性,然后将此代码复制并粘贴到 MainActivity.java 文件中

 public class MainActivity extends AppCompatActivity {

    Button b1,b2,b3,b4;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);


       b1= (Button) findViewById(R.id.button);
       b2= (Button) findViewById(R.id.button2);
       b3= (Button) findViewById(R.id.button3);
       b4= (Button) findViewById(R.id.button4);

        b1.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent intent = new Intent(MainActivity.this, SecondPage.class);
                startActivity(intent);
            }
        });


        b2.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent intent=new Intent(MainActivity.this, ThirdPage.class);
                startActivity(intent);
            }
        });


        b3.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent intent=new Intent(MainActivity.this, FourthPage.class);
                startActivity(intent);
            }
        });


        b4.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent intent=new Intent(MainActivity.this, FifthPage.class);
                startActivity(intent);
            }
        });

    }

}

如果您在布局中使用 onclick 属性 XML 那么您不需要设置 onclick 侦听器.如果你没有使用 onclick 那么你需要设置 click listener。在您的情况下,我认为使用在布局 XML 中使用 onclick 属性,并尝试在使用中设置 click 侦听器 java 代码。所以您需要在布局 XML 中使用 onclick 属性或在 java 代码 [=10] 中使用 setOnCliickListener() =]