0
HTML文字列をWebビューに設定しています。 html文字列には、ハイパーリンク(クリック可能なリンク)が含まれています。ユーザーがリンクをクリックすると、同じWebViewに読み込まれます。ユーザーが戻ると、goBack()関数は機能しますが、文字列を読み戻しません。また、ユーザーが押したときにhtml文字列を再度ロードしようとしました。しかし、これは動作しません。私のコードを以下に投稿してください。html文字列がロードされたときに、webviewのgoBack()関数が動作しない
mDescriptionWebVIew.getSettings().setJavaScriptEnabled(true);
mDescriptionWebVIew.setOnKeyListener(new View.OnKeyListener() {
@Override
public boolean onKey(View view, int i, KeyEvent keyEvent) {
if ((i == KeyEvent.KEYCODE_BACK) && mDescriptionWebVIew.canGoBack()) {
mDescriptionWebVIew.goBack();
if(urlList.size()!=0) {
urlList.remove(urlList.size() - 1);
}
if(urlList.size()==0){
mDescriptionWebVIew.loadDataWithBaseURL("", htmlFinal, "text/html", "UTF-8", "");
}
return true;
}
return false;
}
});
mDescriptionWebVIew.getSettings().setPluginState(WebSettings.PluginState.ON);
mDescriptionWebVIew.setWebViewClient(new WebViewClient() {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
urlList.add(url);
return false;
}
});
感謝を!これは機能します。しかし、どのようにWebビューの高さをコンテンツに設定するのですか? webviewからクリックされたリンクは長めで、戻るときに空白が残っています。 –
@SahanaPrabhakar WebViewにコールバックしてサイズをトリガーするJavascriptInterfaceがページに必要なように聞こえます。こちらをご覧ください:https://capdroid.wordpress.com/2014/08/07/resizing-webview-to-match-the-content-size/ –