我有一个活动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()中没有额外的东西所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)