Home / Programmazione / Java / Evitare la rotazione di una WebView in Android
Mattepuffo

Evitare la rotazione di una WebView in Android

Evitare la rotazione di una WebView in Android

Una WebView rappresenta una View nella quale è possibile caricare pagine web (in locale o in remoto).

Il problema del secondo caso è che quanto ruotiamo il dispositivo la app va in crash.

La motivazione dovrebbe essere data dal fatto che ogni volta che ruotiamo lo schermo, la View si ricarica e fa una richiesta.

Una possibile soluzione è quella di bloccare la rotazione, ma in alcuni casi non è una buona soluzione.

Quello che possiamo fare è salvare lo stato della View, in modo che non ricarichi tutto.

Per farlo possiamo impostare qualche opzione nel Manifest, relativamente alla Activity che contiene la WebView.

Ecco qua:

        <activity
            android:name="com.mp.running.MainActivity"
            android:configChanges="orientation|keyboardHidden|screenSize"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

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

Abbiamo usato l'attributo configChanges.

Così facendo possiamo ruotare lo schermo, e la Activity di conseguenza, senza che la WebView vada in crash.

Ciao!