我称活动为结果:
private static final int CODE_LOGIN = 0;
private static final int CODE_DETAILS = 1;
private void callDetailsActivity() {
Intent switchToDetailsActivity = new Intent(getApplicationContext(), Details.class);
switchToDetailsActivity.putExtra(TAG_ID, details.get(TAG_ID));
startActivityForResult(switchToDetailsActivity, CODE_DETAILS);
}
现在,在我的Details.class中,我调用以返回上一个活动:
@Override
public void onBackPressed() {
setResult(RESULT_OK);
super.onBackPressed();
}
然后我的 onActivityResult()
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (resultCode == RESULT_OK) {
if (requestCode == CODE_LOGIN) {
// This is for my other Activity, where the "return" works
}
}
updateOffers();
}
但是考虑到回到我上一课,该应用程序已关闭,没有任何错误日志。当我按下主屏幕按钮转到上一个应用程序时,可以转到我的应用程序,然后进入上一个活动,但这绝对不是它应该工作的方式。
我也尽量不改变onBackPressed()
,或者干脆写finish()
成onBackPressed()
,但毫无效果。
我还没定 android:noHistory="true"
与我的其他活动(使用完全相同的代码)一起,它可以完美运行(CODE_LOGIN)。
有人可以帮我吗?
更改setResult(RESULT_OK, returnToOffers);
为setResult(RESULT_OK);
并摆脱returnToOffers的意图。我也建议更换finish()
与super.onBackPressed()
对未来的兼容性。
就像在Android Lik-M-Aid(或其他新版本)中一样,当用户使用“后退”按钮取消活动时,他们决定执行一些特殊的红色发光效果,因此您无需更新应用程序即可支持该功能。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句