私はいくつかのウェブサイトを表示するWebViewを持っているアプリを持っています。それは動作し、ウェブページ内のリンクをクリックすると、私のアプリ内のウェブサイトの次のページに移動します。しかし、私は携帯電話の戻るボタンをクリックすると、私のアプリに私をまっすぐに連れて行く。代わりにウェブサイトの前のページに戻ってみたい。これどうやってするの?なぜこのボタンで戻るボタンが機能しないのですか?
ここに私のコードです。
public class WebView extends AppCompatActivity {
private android.webkit.WebView webView;
private ProgressBar progressBar;
private LinearLayout layoutProgress;
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
this.setContentView(R.layout.webview);
webView = (android.webkit.WebView) findViewById(R.id.webViewMain);
progressBar = (ProgressBar) findViewById(R.id.progressBar);
layoutProgress = (LinearLayout) findViewById(R.id.layoutProgress);
webView.setVisibility(View.GONE);
WebSettings settings = webView.getSettings();
settings.setJavaScriptEnabled(true);
settings.setBuiltInZoomControls(true);
settings.setSupportZoom(true);
settings.setDisplayZoomControls(false);
webView.setWebViewClient(new WebViewClient() {
@Override
public boolean shouldOverrideUrlLoading(android.webkit.WebView view, String url) {
view.loadUrl(url);
return true;
}
@Override
public void onPageFinished(android.webkit.WebView view, String url) {
webView.setVisibility(View.VISIBLE);
layoutProgress.setVisibility(View.GONE);
progressBar.setIndeterminate(false);
super.onPageFinished(view, url);
}
@Override
public void onPageStarted(android.webkit.WebView view, String url, Bitmap favicon) {
layoutProgress.setVisibility(View.VISIBLE);
progressBar.setIndeterminate(true);
super.onPageStarted(view, url, favicon);
}
});
if (isOnline()) {
webView.loadUrl("http://www.**********.com/ ");
} else {
String summary = "<html><body><font color='red'>No Internet Connection</font></body></html>";
webView.loadData(summary, "text/html", null);
toast("No Internet Connection.");
}
}
private void toast(String message) {
Toast.makeText(WebView.this, message, Toast.LENGTH_LONG).show();
}
private boolean isOnline() {
ConnectivityManager cm = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo netInfo = cm.getActiveNetworkInfo();
return (netInfo != null && netInfo.isConnected());
}
@Override
public void onBackPressed() {
if(webView.canGoBack() == true) {
webView.goBack();
} else {
WebView.super.onBackPressed();
}
}
}
この質問フォロー助けるです: http://stackoverflow.com/questions/6077141を/前のページへの戻る方法ボタンを押した場合のWebページの表示 –
同じ質問を投稿しないようにしてください。 –
同じ質問ですがコードが違います –