/ / Android canGoBack vždy false - android, webview, webviewclient

Android canGoBack vždy nepravdivý - android, webview, webviewclient

Mám aplikáciu pre Android, kde sa o to pokúšamzobraziť niektoré vlastné tlačidlá späť / dopredu v názve, aby používateľ vedel, že sa môže vrátiť späť alebo dopredu. Mojou myšlienkou bolo prepnúť nepriehľadnosť a nastaviť, či sú alebo nie sú povolené, ak sa používateľ môže vo WebView pohybovať späť alebo dopredu.

Vo vnútri môjho fragmentu je metóda 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;
}

A dôležitou súčasťou MyWebViewClient () je:

@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...");
}

Viackrát som skontroloval, či somneprepíšem MyWebViewClient novou inštanciou a ja nie. Takto som tiež presunul tento OnPageFinished do fragmentu fragmentu 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());
}
});

Nech robím čokoľvek, toto sa vždy vytlačínikdy sa to nemôže vrátiť späť. false sa vždy vytlačí, aj keď klikám na odkaz za odkazom na webovej stránke a navigujem v aplikácii (no, aj tak ďalej). Vdaka za pomoc.

odpovede:

1 pre odpoveď č. 1

Vezmite si to odo mňa, priatelia - vždy, keď zažívate podobné veci, si projekt premyslite. Vždy. Vždy. Vždy. DOH!