Cambiare Activity: Guida allo sviluppo di applicazioni Android: lezione 7

Cambiare Activity: ciao a tutti e ben tornati al nostro consueto appuntamento con la nostra guida sulla programmazione Android, oggi vedremo come far caricare alla nostra applicazione un’altra activity. Cos’è un activity lo abbiamo visto già qualche articolo fa, quindi oggi non starò qui a spiegarlo.

Android-Developers

Per prima cosa aggiungiamo una nuova activity al progetto: click con il tasto destro sulla root del nostro progetto, New, Other, Android Activity, e completiamo il wizard per la creazione dell’activity ( identico a quello fatto a suo tempo per la creazione del progetto). Se eclipse non lo fa in automatico apriamo il nostro Android Manifest (già visto anche lui) e aggiungiamo, se non ci sono già, queste righe alla fine (ovviamente sempre prima della chiusura del tag <application>!!!):

<activity>
android:name="com.gabrycaos.testmobileos.SecondActivity"
android:label="@string/title_second_activity" >
</activity>

 

ovvero diciamo al nostro Manifest che il progetto ha anche una seconda Activity con titolo il contenuto della stringa “title_second_activity”.

Dopodiche aggiungiamo le stringhe che ci servono; per comodità vi lascio direttamente il codice del mio string.xml così le potete aggiungere facilmente, tanto abbiamo visto l’altra volta come si fa:

<string name="title_first_activity">Prima Activity</string>
<string name="title_second_activity">Seconda Activity</string>
<string name="btn">Cambia Activity</string>

Nello stesso modo modifichiamo anche gli xml delle due activity:

In activity_main aggiungiamo quanto segue:

<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/title_first_activity" />
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="15dip"
android:text="@string/btn" /> 

mentre in activity_second aggiungiamo:

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/title_second_activity" />

Si noti che neli due blocchi di codice ho aggiunto due attributi che servono per il layout dell’activity (layout_marginTop, funziona più o meno come il margin-top del CSS).

A questo punto dobbiamo soltanto aggiungere la “logica” alla nostra applicazione, apriamo la nostra activity principale (src/tuopackage/MainActivity.java) e aggiungiamo al metodo onCreate le righe che seguono:


Button button1 = (Button) findViewById(R.id.button1);
button1.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
Intent intent = new Intent(getApplicationContext(), SecondActivity.class);
startActivity(intent);
}

});

Ovvero diciamo a Java che il nostro bottone ha un ascoltatore che ad un evento di tipo click si occuperà di lanciare l’Intent e la nuova Activity!!! Ora non resta che provare la nostra nuova applicazione!!!

 

screenscreen2

 

Come potete vedere (a parte un Hello World buttato a caso 🙂 ) il tutto funziona, l’emulatore carica la mainActivity e al tap sul tasto Cambia Activity carica la SecondActivity!!

 

 

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *