2012-08-06 33 views

回答

2

您需要将WebView添加到FragmentManager的BackStack。查看FragmentManager Docs以了解特定的语法。

+0

谢谢,我会看看这个,但我也想知道,如果我有更多的片段与WebViews,我可以在主要活动一个大的WebView与所有设置,和片段将只用于WebView.loadUrl(URL )?我刚刚开始Android开发:)。 – 2012-08-06 17:53:45

0

里面你OnCreateView的:

@Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, 
          Bundle savedInstanceState) { 
     // Inflate the layout for this fragment 
     view = inflater.inflate(R.layout.your_layout, container, false); 

     mWebView = (WebView) view.findViewById(R.id.webView); 
     mWebView.getSettings().setJavaScriptEnabled(true); 
     mWebView.setWebViewClient(new MyWebViewClient()); 
     mWebView.loadUrl(expertsUrl); 

     return view; 
    } 


private class MyWebViewClient extends WebViewClient { 
     @Override 
     public boolean shouldOverrideUrlLoading(WebView view, String url) { 
      view.loadUrl(url); 
      return true; 
     } 
    } 

好!在您的MainActivity你会写:

 @Override 
     public void onBackPressed() { 
if (WebViewFragment.mWebView!=null) { 
      if (WebViewFragment.mWebView.canGoBack()) { 
       WebViewFragment.mWebView.goBack(); 
      } 
} 
     } 

WebViewFragment =这是你nameFragment该内容的网页视图

mWebView =您的WebView(ID)

现在的名称。在你的片段内部,你必须声明静态全局变量

public static Webview mWebView; 

就是这样!祝你好运!