如何创建一个新页面,它是前一页的副本?

时间:2013-10-10 02:31:12

标签: android

我正在开发一款应用程序,可让您跟踪钩针或针织项目中每行的行数和针数。我想实现一个“新建项目”按钮,为新项目创建一个新活动,包括黑色计数和所有内容。

唯一的问题是,我知道如何手动创建一个新的活动/页面 - 我不知道如何通过按下按钮来执行此操作 - 也就是说,不需要创建x个活动来预加载,而是让“新建项目”按钮创建新活动 - 并将其作为前一个活动的副本。

我希望这个问题足够清楚!

2 个答案:

答案 0 :(得分:0)

在切换到另一个活动之前,您可以将当前活动的当前状态保存在任何永久存储中,例如共享首选项...以及计数器作为当前活动中包含的每个视图的ID。 然后在新活动中,您可以使用共享首选项中的相同详细信息再次创建所有视图。 你也可以使用一个可序列化的类......但是我将采取一条很长的路线来保存与视图相关的所有属性。

答案 1 :(得分:0)

要通过按下按钮来创建新活动,只需从布局中获取按钮,添加onclicklistener并从中启动新活动。看看这个堆栈溢出问题:  How to start new activity on button click

如果您希望新的Activity是前一个Activity的副本,最好创建一个新的Activity并应用与前一个相同的数据和UI状态。

要执行此操作,您可以将所有活动数据添加到意图的额外内容以启动活动(可以使用parcelable接口添加列表/向量),然后您可以在您的on create()中使用此数据新活动。 (通过检查某个额外是否为空,您可以区分应用的第一个活动或所有后续活动)

如果您希望我更具体,请发布您的源代码,以便查看您的数据模型。