gpt4 book ai didi

Android canGoBack 始终为 false

转载 作者:行者123 更新时间:2023-11-30 01:02:07 29 4
gpt4 key购买 nike

我有一个 Android 应用程序,我试图在标题中显示一些自定义后退/前进按钮,让用户知道他们可以后退或前进。我的想法是切换不透明度并设置是否启用它们(如果用户可以在 WebView 中后退或前进)。

在我的 fragment 的 OnCreateView 方法中是:

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

View v = inflater.inflate(R.layout.web_view_fragment, container, false);
Toolbar toolbar = (Toolbar) v.findViewById(R.id.webview_toolbar);
TextView titleText = (TextView) toolbar.findViewById(R.id.webTitle);
titleText.setText("SBN Viewer");
webView = (WebView) v.findViewById(R.id.webview);
setOnClickListeners(toolbar);
this.toolbar = toolbar;
WebViewClient webclient = new MyWebViewClient(toolbar, getActivity());
webView.setWebViewClient(webclient);
return v;
}

MyWebViewClient() 的重要部分是:

@Override
public void onPageFinished(WebView view, String url) {
LogHelper.d(this.getClass().getSimpleName(), "Before super. Can go back? " + view.canGoBack());
super.onPageFinished(view, url);
LogHelper.d(this.getClass().getSimpleName(), "After super. Go Back? " + view.canGoBack());
enableBecauseFinished(view);
if(view.canGoBack())
LogHelper.d(this.getClass().getSimpleName(), "We Can Go Back Here...");
}

我已经检查了无数次以确保我没有用新实例覆盖 MyWebViewClient,但我没有。我也已将此 OnPageFinished 移动到 fragment 的 onCreate 中,如下所示:

webView.setWebViewClient(new WebViewClient() {
@Override
public void onPageFinished(WebView view, String url) {
LogHelper.d(this.getClass().getSimpleName(), "Before super. Can go back? " + view.canGoBack());
super.onPageFinished(view, url);
LogHelper.d(this.getClass().getSimpleName(), "After super. Go Back? " + view.canGoBack());
}
});

无论我做什么,它总是打印出它永远无法返回。 false 总是打印出来,即使我在网站上一个接一个地点击链接并导航应用程序(好吧,还是向前导航)。谢谢您的帮助。

最佳答案

听我说,伙计们 - 如果您遇到这样的不稳定情况,请务必清理您的项目。总是。总是。总是。卫生部!

关于Android canGoBack 始终为 false,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39261484/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com