关于BackPressed的奇怪行为

时间:2016-09-07 08:04:37

标签: android onbackpressed

我有一个包含WebView的活动,我在打开时传递了URL, 像这样:

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

当我们按下后退按钮时,它会关闭所有之前的活动并返回MainActivity,所以我覆盖了onBackPressed.

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

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

注意:它在清单中声明如下:

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

它有什么问题?

如何解决此问题我只想打开上一个活动onBackPressed并完成当前活动。

2 个答案:

答案 0 :(得分:2)

如果我理解正确,您希望导航到WebView中之前加载的网页,而不是从当前页面关闭它。

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

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

答案 1 :(得分:0)

尝试退出视图。

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