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!