2

我正在嘗試製作移動應用程序,但是當我試圖按下按鈕時,我發生崩潰。按鈕應該帶我到一個新的活動頁面,我已經以正確的方式將其他頁面與按鈕連接起來。我只是想知道如果這個代碼是否正確:每當我按下按鈕「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。 –

回答

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

非常感謝你,我忘了在清單文件中定義活動。 – AD01

0

刪除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

0

如果您正在使用佈局XML中的onclick屬性,那麼您無需設置onclick偵聽器。如果您未使用onclick那麼您需要設置點擊收聽者。在你的情況你的情況下,我認爲使用在佈局XML中使用onclick屬性,並試圖設置點擊監聽器使用java代碼。所以你需要在佈局XML中使用onclick屬性或在java代碼中使用setOnCliickListener()

+0

瞭解。謝謝你,你已經很好地向我解釋了^^。 – AD01

相關問題