我想知道如果按下后退按钮,如何在片段中的onCreateView内部创建WebView。这里有人问过这个问题,但是没有得到任何答案。 有人能帮我吗? 谢谢!
答案 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;
那就是它!祝你好运!