【发布时间】:2013-09-17 20:40:00
【问题描述】:
我正在构建一个由 3 个活动组成的新应用程序,即: - 启动画面 - 活动 A - 活动 B,以及 - 活动 C
从活动用户可以转到以下两个活动:
A -> B -> C(从行为 A 用户可以去 B 然后去 C)。 A -> C(从行为 A 用户可以直接转到 C)。 B -> C(从B用户可以到C)。
我还在活动之间传递 Serializable intent Extra。
我遇到的问题是每当我按下操作栏(左上角)上的后退按钮时,它总是使我的应用程序崩溃(错误:NULL 指针异常)。
我已尝试将此代码放在我的所有活动中。
@Override
public void onBackPressed() {
this.dispatchKeyEvent(new KeyEvent(KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_BACK));
}
我试图以某种方式模仿物理后退按钮的行为,因为它在用户按下物理后退按钮时起作用。但也有点抛出错误。
或
public void onBackPressed(){
super.onBackPressed();
}
或者(这个确实是重启应用程序,这是不鼓励的,因为它会从启动屏幕重启应用程序)。
public void onBackPressed(){
super.onBackPressed();
finish();
}
有人知道实现后退按钮的适当方法吗?
【问题讨论】:
-
你认为左上角的按钮是返回按钮吗?!!它的主页按钮而不是返回按钮。查看
ActionBar文档。 -
试试 System.exit(0);而不是finish();
标签: java android back-button