2012-08-06 4 views
1

조각을 변경하고이 조각으로 돌아갈 때 조각이로드되어 조각에서 찾은 웹 페이지가 손실됩니다. 무엇이 잘못 되었나요? ?웹 뷰 조각의 상태 저장

내 조각품에 문제가 있거나 조각을 어떻게 바꿀 수 있습니까? 웹보기 클라이언트를 사용하는 것이 중요합니까?

public class FragmentA extends Fragment { 

WebView myWebView; 

@Override 
public void onSaveInstanceState(Bundle outState) { 
    super.onSaveInstanceState(outState); 
    myWebView.saveState(outState); 

} 

@Override 
public void onActivityCreated(Bundle savedInstanceState) { 
    super.onActivityCreated(savedInstanceState); 
    myWebView.restoreState(savedInstanceState); 

} 

@Override 
public View onCreateView(LayoutInflater inflater, ViewGroup group, Bundle saved) 
{ 
    View mainView = (View) inflater.inflate(R.layout.frag_a, group, false); 
    myWebView = (WebView) mainView.findViewById(R.id.webview); 
    myWebView.setWebViewClient(new MyWebViewClient()); 
    myWebView.getSettings().setPluginsEnabled(true); 
    myWebView.getSettings().setBuiltInZoomControls(false); 
    myWebView.getSettings().setSupportZoom(false); 
    myWebView.getSettings().setJavaScriptCanOpenWindowsAutomatically(true); 
    myWebView.getSettings().setAllowFileAccess(true); 
    myWebView.getSettings().setDomStorageEnabled(true); 
    myWebView.loadUrl("http://www.bbc.co.uk");  

    return mainView; 
} 


public class MyWebViewClient extends WebViewClient {   

    @Override 
    public boolean shouldOverrideUrlLoading(WebView view, String url) { 
     if (url.endsWith(".mp4")) 
     { 
      Intent intent = new Intent(Intent.ACTION_VIEW); 
      intent.setDataAndType(Uri.parse(url), "video/*"); 

      view.getContext().startActivity(intent); 
      return true; 
     } 
     else { 
      return super.shouldOverrideUrlLoading(view, url); 
     } 
    } 

} 

}

답변