[英]When the back button is pressed in webview the app exit
按下后退按鈕時,應用程序將關閉,而不是返回上一頁...
后退按鈕代碼不適用於這種情況。 我嘗試了所有可能的代碼,但它仍然不工作
<?xml version="1.0" encoding="utf-8"?>
<WebView
android:id="@+id/webview"
android:layout_width="match_parent"
android:layout_height="match_parent"
xmlns:android="http://schemas.android.com/apk/res/android">
</WebView>
主要活動:
public class MainActivity extends AppCompatActivity {
WebView mywebView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mywebView = (WebView) findViewById(R.id.webview);
mywebView.getSettings().setJavaScriptEnabled(true);
mywebView.loadUrl("http://www.google.co.in");
mywebView.setWebViewClient(new WebViewClient(){
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url){
view.loadUrl(url);
return true;
}
});
}
//goto previous page
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if(event.getAction() == KeyEvent.ACTION_DOWN){
switch (keyCode){
case KeyEvent.KEYCODE_BACK:
if(mywebView.canGoBack()){
mywebView.goBack();
}
else {
finish();
}
return true;
}
}
return super.onKeyDown(keyCode, event);
}
}
我最近在這個上浪費了很多時間。 請仔細看。 WebView Docs shouldoverrideUrlLoading
如果提供了 WebViewClient,則返回 true 會導致當前 WebView 中止加載 URL,而返回 false 會導致 WebView 像往常一樣繼續加載 URL。
所以 shouldOverrideUrlLoading 返回應該是假的,注意是真的。 True 將強制禁用 onbackpress 覆蓋方法(我認為)並加載更多 URL。
所以代碼應該是這樣的:
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url){//condition or the code
view.loadUrl(url);
return false;
}
});
我也用過:
@Override
public void onBackPressed() {
if (webview.canGoBack()) {
webview.goBack();
} else {
super.onBackPressed();
}
}
希望我這會在未來有所幫助!
您是否在onBackPressed()
嘗試過,例如:
@Override
public void onBackPressed() {
if (mywebView.isFocused() && mywebView.canGoBack()) {
mywebView.goBack();
} else {
super.onBackPressed();
}
}
在您的活動中更改 onBackPressed 事件的代碼:
@Override
public void onBackPressed() {
//write your code here
//and comment this: super.onBackPressed();
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.