我创建了一个基本的WebView
应用程序,想要添加一个后退按钮功能,该功能会将用户带到上一页而不是退出该应用程序。在下面的问题中附加了MainActivity.java
代码。我是堆栈溢出和android开发的新手。
package example.com;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.webkit.WebView;
import android.webkit.WebViewClient;
public class MainActivity extends AppCompatActivity {
private WebView webview;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
webview =(WebView)findViewById(R.id.webView);
webview.setWebViewClient(new WebViewClient());
webview.getSettings().setJavaScriptEnabled(true);
webview.getSettings().setDomStorageEnabled(true);
webview.setOverScrollMode(WebView.OVER_SCROLL_NEVER);
webview.loadUrl("https://www.example.com");
}
}
答案 0 :(得分:1)
@Override
onBackPress()
在mainActivity中,并在其中添加导航逻辑。这里工作被剪掉
public class MainActivity extends AppCompatActivity {
private WebView webView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
webView = findViewById(R.id.webView);
webView = new WebView(MainActivity.this);
webView.loadUrl(...);
}
@Override
public void onBackPressed() {
if (webView != null && webView.canGoBack()) {
webView.goBack();
}else{
//Your App exit logic here
}
}
}
我希望这能满足您的要求。
答案 1 :(得分:0)
尝试一下,希望对您有帮助
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (event.getAction() == KeyEvent.ACTION_DOWN) {
switch (keyCode) {
case KeyEvent.KEYCODE_BACK:
if (mWebView.canGoBack()) {
mWebView.goBack();
}
return true;
}
}
return super.onKeyDown(keyCode, event);
}