0

我想知道如果按下后退按钮,如何使片段中的 onCreateView 内的 WebView 返回。前段时间在这里被问过,但没有得到任何答案。有人能帮我吗?谢谢!

4

2 回答 2

2

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

于 2012-08-06T17:42:00.210 回答
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 内容的 Webview

mWebView= 您的 WebView 的名称 (id)

现在。在您的 Fragment 内部,您必须声明静态全局变量

public static Webview mWebView;

就是这样!祝你好运!

于 2016-06-29T21:10:04.027 回答