본문 바로가기
안드로이드

안드로이드 WebView 화면 전환 시 Reload 되는 현상 방지

by Dokon Jang 2015. 4. 24.
반응형

안드로이드 개발시 WebView를  적용할 때 가로/세로로 화면이 전화되면 URL이 Reload 되는 현상이 발생합니다.

(화면전환 시 Activity의 onCreate 메소드가 다시 호출되기 때문)

 

[화면 전환시 Method 호출 순서]

onSaveInstanceState() → onCreate() → onRestoreInstanceState()

package com.example.webview;

import android.os.Bundle;
import android.app.Activity;
import android.webkit.WebView;

public class MainActivity extends Activity {
    
    WebView webview;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        
        webview = (WebView)findViewById(R.id.webview);
        webview.getSettings().setJavaScriptEnabled(true); 
        webview.getSettings().setBuiltInZoomControls(false);
        webview.getSettings().setSupportZoom(true);
        webview.getSettings().setLoadWithOverviewMode(true);
        webview.getSettings().setUseWideViewPort(true);
        
        if(savedInstanceState == null) 
            webview.loadUrl("http://m.daum.net");
    }


    @Override
    protected void onSaveInstanceState(Bundle savedInstanceState){
        super.onSaveInstanceState(savedInstanceState);
     
        webview.saveState(savedInstanceState);
    }
    
    @Override
    protected void onRestoreInstanceState(Bundle savedInstanceState){
        super.onRestoreInstanceState(savedInstanceState);
     
        webview.restoreState(savedInstanceState);
    }

}

 

반응형

댓글