首页 > 解决方案 > WebView - 如果存在返回历史记录,则仅显示返回按钮

问题描述

我开发了一个简单的 webview 应用程序。我添加了一个按钮,它应该作为后退按钮,因此用户可以导航回一页。

该按钮最初是隐藏的,只有在存在回溯历史时才应显示。我怎么能意识到这一点?

代码很简单:

backButton = findViewById(R.id.backButton);
backButton.setEnabled(blizzView.canGoBack());

但我必须在哪里称呼这个?如何调用“加载某些站点”事件?

更新:

我试图应用@Murats 答案,但没有任何反应:

private WebView blizzView;  // my webview
private Button backButton;

public void onPageFinished(WebView view, String url)
{
    backButton = findViewById(R.id.backButton);
    backButton.setEnabled(blizzView.canGoBack());

    if (blizzView.canGoBack()) {
        backButton.setVisibility(View.VISIBLE);
    } else {
        backButton.setVisibility(View.INVISIBLE);
    }

}

标签: javaandroidwebview

解决方案


你可以用它WebView#canGoBack来查明是否有backstack。您可以在页面加载后检查,例如WebViewClient#onPageFinished


推荐阅读