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