Android 返回上一页,返回按钮不起作用

Android 返回上一页,返回按钮不起作用,android,Android,对不起,如果这个问题以前被问过太多次的话。但我已经尝试解决了一段时间,尝试了所有的解决方案,但似乎没有什么对我有效。你能告诉我我遗漏了什么吗? 当我按下手机上的“后退”按钮时,它将退出应用程序,而不是转到webView的背面。 我真的很感激你帮我做错事 import android.app.Activity; import android.os.Bundle; import android.webkit.WebView; public class MainActivity extends Ac

对不起,如果这个问题以前被问过太多次的话。但我已经尝试解决了一段时间,尝试了所有的解决方案,但似乎没有什么对我有效。你能告诉我我遗漏了什么吗? 当我按下手机上的“后退”按钮时,它将退出应用程序,而不是转到webView的背面。 我真的很感激你帮我做错事

import android.app.Activity;
import android.os.Bundle;
import android.webkit.WebView;

public class MainActivity extends Activity {
    private WebView myWebView;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        WebView myWebView = (WebView) findViewById(R.id.webView1);
        myWebView.getSettings().setJavaScriptEnabled(true);
        myWebView.loadUrl("file:///android_asset/index.html");

    }
    @Override
    public void onBackPressed() {
        if (myWebView.canGoBack()) {
            myWebView.goBack();
        } else {
            super.onBackPressed();
        }
    }
}
试试这个

mainView.setOnKeyListener(new View.OnKeyListener() {
    @Override
    public boolean onKey(View v, int keyCode, KeyEvent event) {
        if (event.getAction() == android.view.KeyEvent.ACTION_DOWN) {
            if ((keyCode == android.view.KeyEvent.KEYCODE_BACK)) {
                if(webView!=null)
                {
                  if(webView.canGoBack())
                  {
                    webView.goBack();
                  }
                }
            }
        }
        return true;
    }
});
试试这个

mainView.setOnKeyListener(new View.OnKeyListener() {
    @Override
    public boolean onKey(View v, int keyCode, KeyEvent event) {
        if (event.getAction() == android.view.KeyEvent.ACTION_DOWN) {
            if ((keyCode == android.view.KeyEvent.KEYCODE_BACK)) {
                if(webView!=null)
                {
                  if(webView.canGoBack())
                  {
                    webView.goBack();
                  }
                }
            }
        }
        return true;
    }
});

onCreate
中的这条语句定义了一个名为
myWebView
的局部变量,它隐藏了具有相同名称的实例变量:

WebView myWebView = (WebView) findViewById(R.id.webView1);
因此,实例变量将有一个
null
值,并且
onBackPressed
可能引发
NullPointerException

尝试将该语句更改为:

myWebView = (WebView) findViewById(R.id.webView1);

onCreate
中的这条语句定义了一个名为
myWebView
的局部变量,它隐藏了具有相同名称的实例变量:

WebView myWebView = (WebView) findViewById(R.id.webView1);
因此,实例变量将有一个
null
值,并且
onBackPressed
可能引发
NullPointerException

尝试将该语句更改为:

myWebView = (WebView) findViewById(R.id.webView1);

如果有名为any where的finish方法,请检查之前的活动。如果有名为any where的finish方法,请检查之前的活动。非常感谢。是的,它解决了问题,现在工作得很好。非常感谢。是的,它解决了问题,现在工作得很好。