App Tutorial

Richiamare un Activity Android: Guida Completa con Intent e Java

Scopri come richiamare un Activity Android in Android Studio: guida passo passo con codice XML e Java per passare da una Activity all’altra utilizzando Intent e il metodo startActivity nelle tue app Android.

Cos’è un Activity Android?

Un’applicazione Android può contenere una o più Activity. Ricorrendo al metodo startActivity(), l’activity principale può lanciare delle sotto-activity utilizzando gli Intent. Un Intent è un oggetto che descrive l’operazione da eseguire.

Passo 1 – Creare il layout Main.xml dell’Activity principale

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:gravity="center">

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

    <Button
        android:id="@+id/button1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="10dp"
        android:text="Start"/>

</LinearLayout>

Passo 2 – Configurare MainActivity.java

Nel file MainActivity.java utilizziamo un Intent per avviare la seconda Activity al click del pulsante:

package com.mycompany.myapp;

import android.app.*;
import android.os.*;
import android.widget.*;
import android.content.Intent;
import android.view.View.*;
import android.view.*;

public class MainActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        Button btn = findViewById(R.id.button1);
        btn.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View arg0) {
                Intent openPage1 = new Intent(MainActivity.this, Pagina1.class);
                startActivity(openPage1);
            }
        });
    }
}

Passo 3 – Creare l’Activity secondaria Pagina.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical">

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

    <Button
        android:id="@+id/button1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="10dp"
        android:text="Exit"/>

</LinearLayout>

Passo 4 – Configurare Pagina1.java

package com.mycompany.myapp;

import android.app.*;
import android.os.*;
import android.widget.*;
import android.content.Intent;
import android.view.View.*;
import android.view.*;

public class Pagina extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.pagina);

        Button btn = findViewById(R.id.button1);
        btn.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View arg0) {
                Intent openMainActivity = new Intent(Pagina.this, MainActivity.class);
                startActivity(openMainActivity);
            }
        });
    }
}

Passo 5 – Registrare le Activity in AndroidManifest.xml

Ogni Activity deve essere dichiarata nel file AndroidManifest.xml:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.mycompany.myapp">

    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme">

        <activity
            android:name=".MainActivity"
            android:label="@string/app_name">
            <intent-filter>
                <action android:name="android.intent.action.MAIN"/>
                <category android:name="android.intent.category.LAUNCHER"/>
            </intent-filter>
        </activity>

        <activity android:name=".Pagina1"></activity>

    </application>

</manifest>

Conclusione

In questa guida abbiamo visto come richiamare un Activity Android in Android Studio usando Intent e startActivity. Con un semplice tocco sul pulsante è possibile navigare tra le diverse schermate dell’app.