活动A包含图像列表。活动B包含所选图像。使用共享元素,它成功动画移动到新活动的图像,并在我完成B时再次返回。
问题是当列表更改并且我在B上时,图像将尝试返回列表中的相同位置。如果它是我选择它时列表中的第10个项目,那么当我按下时,列表中只有3个图像,现在它将抛出异常,因为第10个列表项容器将不再存在。如果我选择第一个列表图像,但是在B上列表增长并且我的项目被强制到列表中的第5个点,当我按下它时它仍将返回到它来自的第一个列表项。
有没有办法告诉它在返回过渡时转移到另一个列表项? (当列表发生变化时,会通知活动B,因此我可以选择获取它的新位置)
任何建议都会很棒。 感谢
答案 0 :(得分:0)
看来你应该只在ActivityA准备就绪时刷新你的列表。
也许你可以在ActivityA中使用startActivityForResult()来启动ActivityB,虽然我不确定当ActivityB返回时ActivityA的完全生命周期回调。
也许您应该在转换完成后查看SharedElementCallback并刷新列表。