如果在 Fragment 的 WebView 中按下后退按钮,如何返回上一页?

Posted

技术标签:

【中文标题】如果在 Fragment 的 WebView 中按下后退按钮,如何返回上一页?【英文标题】:How to go back to previous page if back button is pressed in WebView in Fragment? 【发布时间】:2016-10-02 02:33:26 【问题描述】:
public class PrimaryFragment extends Fragment 


@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
                         Bundle savedInstanceState) 

    View rootView = inflater.inflate(R.layout.primary_layout, container, false);
    WebView heroespage = (WebView) rootView.findViewById(R.id.webView);
    WebSettings webSettings = heroespage.getSettings();
    webSettings.setjavascriptEnabled(true);
    heroespage.setWebViewClient(new MyBrowser());
    heroespage.loadUrl("http://beritagresik.com");
    return rootView;
private class MyBrowser extends WebViewClient 
    @Override
    public  boolean shouldOverrideUrlLoading(WebView view, String url )
        view.loadUrl(url);
        return true;
    

这是我的应用程序示例,请帮助解决此问题 感谢您的帮助

【问题讨论】:

How to go back to previous page if back button is pressed in WebView?的可能重复 【参考方案1】:

如果你在 webview 中打开一个 web url 并且里面是你打开另一个链接等等。 现在你想按页面返回,你可以使用 webView.goBack();

【讨论】:

【参考方案2】:

试试这个代码:

@Override
public boolean onKeyDown(int keyCode, KeyEvent event) 
    if (event.getAction() == KeyEvent.ACTION_DOWN) 
        switch (keyCode) 
            case KeyEvent.KEYCODE_BACK:
                if (heroespage.canGoBack()) 
                    heroespage.goBack();
                 else 
                    finish();
                
                return true;
        

    
    return super.onKeyDown(keyCode, event);

【讨论】:

脚本 heropage.canGoBack() 、 heropage.goBack() 、 super.onKeyDown 出错 感谢先生的回答

以上是关于如果在 Fragment 的 WebView 中按下后退按钮,如何返回上一页?的主要内容,如果未能解决你的问题,请参考以下文章

如果在 WebView 中按下后退按钮,如何返回上一页?

如何在 Fragment l 中使用 WebView? [关闭]

在 Fragment 中保存状态 WebView

在 Fragment 中使用 WebView

Android中Fragment装载WebView 返回键设置问题

Android中Fragment装载WebView 返回键设置问题