微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

当用户在子活动中单击“后退”按钮时,如何获得重新加载的活动

如何解决当用户在子活动中单击“后退”按钮时,如何获得重新加载的活动

| 我有一个活动以“ 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 举报,一经查实,本站将立刻删除。