Così, ad occhio, potrebbe essere che btn sia nullo... controlla il Layout XML dell'activity e verifica che il pulsante abbia effettivamente come ID "button1". Eventualmente, posta il file di Layout.
Considerazione. Di solito, quando si ha a che fare con componenti a cui si aggiungono ascoltatori (come nel tuo caso, il pulsante a cui viene aggiunto il OnClickListener), si opta per una delle due strade:
1) Se il pulsante è dichiarato all'interno di un metodo (ed è il tuo caso), allora lo si dichiara come final, perchè l'ascoltatore è una inner anonymous class, che perderebbe il riferimento al pulsante appena il metodo finisce.
2) Si di chiara il pulsante a livello di classe e dentro al metodo lo si assegna soltanto ( con la findViewById() ). In questo modo l'ascoltatore non perde il riferimento al pulsante.
In ogni caso, io preferisco fare in modo che l'ascoltatore richiami un metodo della Activity, che poi farà tutto il lavoro... in questo modo puoi lavorare più maneggevolmente:
codice:
public class MainActivity extends Activity {
...
private Button cmd;
...
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
...
cmd = (Button) findViewById(R.id.button1);
cmd.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
avviaActivity();
}
});
}
...
private void avviaActivity() {
Intent intent = new Intent(this, Pagina1.class);
startActivity( intent );
}
...
}
Ciao.