安卓:startActivityForResult()与后退按钮功能 [英] Android : startActivityForResult() with BACK button functionality
问题描述
我想开始一个新的活动
为结果
,与 startActvityForResult( )
,但我想有返回
按钮,工作正常,在新的活动。
I would like to start a new activity
for a result
, with startActvityForResult()
, but I would like to have the back
button working as normal in the new activity.
目前,当我调用一个新的活动
的结果,没有任何反应,当我preSS新活动的后退按钮。
Currently when I invoke a new Activity
for result, nothing happens when I press the back button in the new Activity.
我想是这样的:
@Override
public void onBackPressed() {
setResult(0);
super.onBackPressed();
finish();
}
在新的活动,但没有奏效。还是没有任何反应时,后退按钮是pressed。
in the new Activity, but it didn't work. Still nothing happens when the back button is pressed.
有没有解决的办法吗?
编辑:当然,我可以加载最后活动
在 onBack pressed()
(可我?),但它似乎是一个相当糟糕的黑客攻击。
EDIT : I could of course load the last Activity
in the onBackPressed()
(can I?), but it seems like a rather crappy hack.
亚历克斯安以轩的回答解决了我的问题,但我还是不明白,为什么 onBack pressed()
不起作用。工作code现在是这样的:
Alex Ady's answer solves my problem, but I still don't understand why onBackPressed()
doesn't work. The working code now is something like this:
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if ((keyCode == KeyEvent.KEYCODE_BACK)) {
setResult(1);
finish();
}
return super.onKeyDown(keyCode, event);
}
我可以用一个解释。
I could use an explanation.
推荐答案
您可以尝试
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if ((keyCode == KeyEvent.KEYCODE_BACK)) {
finish();
}
return super.onKeyDown(keyCode, event);
}
这篇关于安卓:startActivityForResult()与后退按钮功能的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!