奇怪的行为onBackPressed

问题描述:

我有一个活动包含的WebView,我通过URL而开放, 像这样:奇怪的行为onBackPressed

Intent activity = new Intent(getApplicationContext(),NewActivity.class); 
activity.putExtra("URL", url); 
startActivity(activity); 

当我们按下后退按钮将关闭所有先前的活动,并返回到MainActivity所以我overrided onBackPressed.

@Override 
    public void onBackPressed() { 
     finish(); 
    } 

它仍然关闭所有以前的活动。

注:它在这样的清单中声明:

<activity 
      android:name=".views.activities.NewActivity" 
      android:screenOrientation="portrait"/> 

有什么错呢?

我该如何解决这个问题,我只想打开之前的活动onBackPressed并完成当前的活动。

+0

你试过了吗?Intent activity = new Intent(CurrentActivity.this,NewActivity.class);'?用'CurrentActivity.this',而不是'getApplicationContext()' –

+0

你调用'完成()'尝试在启动'NewActivity'后你的第一个活动? –

+0

很抱歉,但使用CurrentActivity.this代替getApplicationContext()对我没有工作 –

如果我理解正确,您想浏览到以前加载网页在您的WebView而不是从当前页面关闭它。

,如果这是真的尝试此解决方案。

@Override 
public void onBackPressed() { 
    if (webView.canGoBack()) { 
     webView.goBack(); 
    } else { 
     super.onBackPressed(); // or finish(); 
    } 
} 
+0

的请码开幕前不,我不这样做,我想浏览上一个活动,但实际发生的情况是,按回退按钮关闭所有以前的活动并返回MainActivity –

+0

从哪个活动调用webview? –

+0

我在NewActivity里面调用WebView –

尝试退出视图。

@Override 
public void onBackPressed() { 
System.exit(REQUEST_CODE); 
super.onBackPressed(); 
} 
+0

同样的问题和相同的行为 –