如何解决当用户在子活动中单击“后退”按钮时,如何获得重新加载的活动
| 我有一个活动以“ 0”方法启动“联系人”选择器。当用户选择联系人时,该用户的ID将传递给新的“ 1”。但是,如果用户按下返回键,则会出现空白屏幕,这是因为似乎没有再次呼叫onCreate
。
我已经试过了onRestart
和onResume
,它们解决了后面的问题,但是在发生竞争的情况下,它将在ID传递给child activity
之前进行调用以打开Contact picker
活动。
编辑:
我正在使用API 2.3.3。
我已经尝试在子活动中重载onBack方法以启动新活动。但是要进行更改,即页面呈现的更改方式如何完成。当您启动一个新活动时,新活动从屏幕的右侧出现,但是当您回击常规实现时,会使上一个屏幕从左侧滑入。如果我超载了onBack来调用新活动,则发生的情况是用户单击“后退”按钮,并且屏幕从屏幕的右侧而不是左侧进入。我需要使窗口滑动与默认模式相同。
解决方法
您不能在按下返回键时调用onCreate。但是,您可以做一件事来完成您的联系人选择器活动。覆盖“子活动”中的onBackPressed函数,并在那里启动新的活动。
,
@Override
public boolean onKeyDown(int keyCode,KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
moveTaskToBack(false);//this will not allow to go back
//Here put your code i.e start new activity but first finish current activity
return true;
}
return super.onKeyDown(keyCode,event);
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。