Home / Programmazione / Java / Lanciare un'Activity in Android
Mattepuffo

Lanciare un'Activity in Android

Lanciare un'Activity in Android

Le applicazioni Android difficilemente son composte da una sola Activity.

Creare un'Acitivity per ogni compito è la normalità visto anche lo spazio ridotto dei cellulari.

Vediamo come possiamo fare per richiamare un'altra Activity.

Prima di tutto create un altro layout e chiamatelo second; nella cartella layout dovremmo avere second.xml.

Questo sarà il layout della nostra seconda Activity.

Una volta modificato come volete create una nuova classe che estende Activity:

public class SecondActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.second);

}

Poi andate a modificare il file AndroidManifest.xml:

<activity
android:name=".SecondActivity"
android:label="@string/second_activity" >
<action android:name="android.intent.action.MAIN" />

<category android:name="android.intent.category.LAUNCHER" />
</activity>

A questo punto nell'Activity principale aggiungete un bottone al layout e poi nel codice una roba del genere:

public class FirstActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);

Button btnNew = (Button) findViewById(R.id.btnToSecond);
btnNew.setOnClickListener(new OnClickListener() {
public void onClick(View arg0) {
Intent intent = new Intent(FirstActivity.this, SecondActivity.class);
startActivity(intent);
}
});
}

}

Prima istanziamo un oggetto Button cercandolo nel layout con findViewById().

Poi aggiungiamo un evento OnClickListener creando un oggetto Intent passandogli come secondo parametro l'Acitivity da richiamare.

Eseguiamo lo start della suddetta Activity.

Ricordatevi che nel layout dovete impostare un id al bottone sennò il metodo findViewById() non riuscirà a trovarlo.

Inoltre date anche un'occhiata alla doc di Activity e Intent per capire meglio a cosa servono!