有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

如果存在后退历史记录,则java 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);
    }

}

共 (2) 个答案

  1. # 1 楼答案

    它的工作原理如下:

    blizzView.setWebViewClient(new WebViewClient() {      //
        @Override
        public void onPageFinished(WebView view, String url) {
            super.onPageFinished(view, url);
    
            backButton = findViewById(R.id.backButton);
            backButton.setEnabled(blizzView.canGoBack());
    
            if (blizzView.canGoBack()) {
                backButton.setVisibility(View.VISIBLE);
            } else {
                backButton.setVisibility(View.INVISIBLE);
            }
    
        }
    });
    
  2. # 2 楼答案

    你可以使用^{}来确定是否存在倒退。你可以在页面加载后检查,例如在^{}