我开发了一个简单的 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);
}
}
最佳答案
您可以使用WebView#canGoBack
找出是否有后栈。您可以在页面加载后进行检查,例如在 WebViewClient#onPageFinished
关于java - WebView - 如果存在后退历史记录,则仅显示后退按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57110921/