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