提问者:小点点

canGoBack() 在我的第二个活动中不起作用


我已经创建了第二个活动,我有一个网络视图,所以我使用此代码从网站内容返回到主页,但是如果我按下后退按钮应用程序停止工作,有人能帮我吗?

@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();
                } else {
                    finish();
                }
                return true;
            }
        }
    return super.onKeyDown(keyCode, event);
}

这是日志


共1个答案

匿名用户

您的webview对象未初始化。获取webview Id,如果是!null然后按下getback键

@Override public boolean onKeyDown(int keyCode, KeyEvent event) {
        if (event.getAction() == KeyEvent.ACTION_DOWN) {
            switch (keyCode) {
                case KeyEvent.KEYCODE_BACK:
             WebView webView = (WebView) findViewById(R.id.myWebView);
            if(webView!=null){
                    if (mWebView.canGoBack()) { 
                        mWebView.goBack();
                    }
    } else {
                        finish();
                    }
                    return true;
                }
            }
        return super.onKeyDown(keyCode, event);
    }