每当我按下按钮“Android Studio”时发生崩溃

问题描述:

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

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

    } 

} 

我刚学java的从YouTube的一些影片,所以我不知道我是否做了活动功能良好与否。谢谢

+6

请发布logcat请。 –

+2

请检查您的Manifest文件是否声明了新的(被调用的)活动。 – statosdotcom

+0

在onCreate()方法中定义finViewById。 –

可以有后

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

非常感谢你,我忘了在清单文件中定义活动。 – AD01

删除onclick属性在activity_main.xml中文件并在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); 
      } 
     }); 

    } 

} 
+0

谢谢!这段代码帮了我很多:) – AD01

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

+0

了解。谢谢你,你已经很好地向我解释了^^。 – AD01