Android中的详细活动模式解决方案也处理用户输入?

时间:2018-01-16 14:04:20

标签: android android-layout android-recyclerview

所以我正在阅读这本名为Head First Android Development的Android开发书,其中作者提出了细节活动的模式。这表明,当您想要为您的用户提供一组比萨饼时,您可以创建一个呈现所有可用比萨饼的RecyclerView,当用户点击一个比萨饼时,您可以开始一个详细信息活动,显示特定比萨饼的所有细节。意图传递特定的比萨饼ID。

这感觉非常优雅但是如果我希望用户有一个比萨饼列表并能够为他们自己插入新的比萨饼然后会在同一个RecyclerView中呈现,我的想法是我应该开始另一个细节活动,从用户获取输入,然后再次使用意图将用户输入的所有细节(成分)传递给演示活动。这个解决方案工作正常但它只是感觉太邋..你能建议另一种不要求使用意图传递大量数据的解决方案吗?

1 个答案:

答案 0 :(得分:0)

我应该告诉你很少的事情。

传递一些字符串(成分)并不是真正的大量数据'。

即使您通过意图将数据发送到其他活动,它也不会存储在任何地方,只能暂时可用。一旦您的活动被破坏,您将丢失该数据。

更好的方法是启动您的详细活动,请求您的披萨列表中的新条目,将其存储在持久存储中并完成详细活动,而不是再次启动演示活动。

Android会保留一系列活动,因此当详细活动结束时,您的演示文稿活动将会恢复。阅读活动的\x89并查看将要调用的所有方法。

将调用的方法之一是recyclerView,您应该通过lifecycle获取最新数据来刷新keep=False