IT_Programming/Android_Java
[펌] 안드로이드 WebView 화면 전환 시 Reload 되는 현상 방지
JJun ™
2014. 4. 20. 01:22
출처: http://docko.tistory.com/entry/안드로이드-WebView-화면-전환-시-Reload-되는-현상-방지
안드로이드 개발시 WebView를 적용할 때 가로/세로로 화면이 전화되면 URL이 Reload 되는 현상이 발생합니다.
(화면전환 시 Activity의 onCreate 메소드가 다시 호출되기 때문)
[화면 전환시 Method 호출 순서]
onSaveInstanceState() → onCreate() → onRestoreInstanceState()
- 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);
-
}
-
-
} |