每按一次“Android Studio”按钮就会崩溃

时间:2016-04-04 01:07:45

标签: java android android-intent android-activity mobile-application

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

    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,所以我不确定我是否做好了活动功能。谢谢

3 个答案:

答案 0 :(得分:0)

之后可能没有什么理由

1)确保您在清单文件中定义了活动

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

OR

尝试使用onCreate()方法中的绑定按钮。

你可以将它用于onClick

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

答案 1 :(得分:0)

删除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);
            }
        });

    }

}

答案 2 :(得分:0)

如果您在布局XML中使用 onclick 属性,那么您不需要设置 onclick 侦听器。如果您未使用 onclick ,则需要设置点击监听器。在您的情况下,我认为使用布局XML中的 onclick 属性,并尝试在使用Java代码时设置单击侦听器。所以你需要在布局XML中使用 onclick 属性或在java代码中使用 setOnCliickListener()