片段内的Android WebView:如何制作WebView goback?

时间:2012-08-06 17:17:14

标签: android webview

我想知道如果按下后退按钮,如何在片段中的onCreateView内部创建WebView。这里有人问过这个问题,但是没有得到任何答案。 有人能帮我吗? 谢谢!

2 个答案:

答案 0 :(得分:2)

您需要将WebView添加到FragmentManager的BackStack中。查看FragmentManager Docs的具体语法。

答案 1 :(得分: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 =这是您对Webview内容的nameFragment

mWebView = WebView(id)的名称

现在。在Fragment中你必须声明静态全局变量

public static Webview mWebView;

那就是它!祝你好运!