android– 从子Activity返回它时,Activity.getIntent()中没有额外的东西

android– 从子Activity返回它时,Activity.getIntent()中没有额外的东西,第1张

概述我有一个活动A,我用一些额外的东西启动(即将一些数据放入启动活动的Intent).从这个Activity我启动了另一个ActivityB.问题是当我从B回到A时,通过调用finish(),AActivity的getIntent()方法返回一个不包含额外内容的Intent.所以,我的问题是:这是正常行为吗?有没有什么方法可以表示我

我有一个活动A,我用一些额外的东西启动(即将一些数据放入启动活动的Intent).从这个Activity我启动了另一个Activity B.问题是当我从B回到A时,通过调用finish(),A Activity的getIntent()方法返回一个不包含额外内容的Intent.
所以,我的问题是:这是正常行为吗?有没有什么方法可以表示我想让它保持它开始的Intent的活动A.
哦,请注意我已经覆盖了活动A中的onSaveInstanceState().

编辑:
我不再在我的设备上遇到此问题.而且我没有改变代码中的任何内容.我正在使用一个3岁的设备进行测试.我想知道这可能是由设备故障引起的吗?

解决方法:

我明白了.此问题仅在我单击Actionbar的后退箭头时发生,而不是在我按下设备的后退按钮时发生.因为当按下Back按钮时,将调用Activity的finish()方法,并且app通常会返回到已创建的Activity A实例,当默认情况下单击Actionbar的后退箭头时,Activity B不会调用finish()方法,而是由于Android横向导航功能,它会创建活动A的新实例.因此,解决方案是覆盖Actionbar的后退箭头单击功能(添加到活动B的方法):

@OverrIDepublic boolean onoptionsItemSelected(MenuItem menuItem) {    int itemID = menuItem.getItemID();    if (itemID == androID.R.ID.home) {        onBackpressed();        return true;    }    return super.onoptionsItemSelected(menuItem);}
总结

以上是内存溢出为你收集整理的android – 从子Activity返回它时,Activity.getIntent()中没有额外的东西全部内容,希望文章能够帮你解决android – 从子Activity返回它时,Activity.getIntent()中没有额外的东西所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1110872.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-29
下一篇 2022-05-29

发表评论

登录后才能评论

评论列表(0条)

保存