2013-02-11 26 views
0


难道有人请指出我在Android应用程序中管理复杂导航流程的正确方向。
用例如下:用户可以点击缩略图网格中的缩略图,这将用户带到图像的“详细”视图。除了特定图像的细节之外,该详细视图具有图像的“相关”图像的列表/轮播。用户点击其中一个相关的图像,并将其作为该图像的“详细”视图。等等等等。 这基本上创建了一个无限长/未知长度的堆栈。 通过点击“返回”按钮,用户被带到上一个视图。
任务:我希望能够对视图堆栈设置一些限制。因此,例如,如果用户已导航到第10个“详细”视图 - 他们将不得不仅仅回击3次才能到达缩略图网格,他们已经开始了整个流程。

我在我的应用程序中使用片段。

真的很感激任何帮助。Android中的复杂导航,查看堆栈

回答

0

我会使用2个活动。一个活动显示网格,另一个显示详细视图。详细视图维护一堆以前的图像,最大长度为3.当按下相关图像时,将当前图像推送到堆栈,如果需要则删除最早的图像。然后重新显示新图像。覆盖onBackPressed以弹出堆栈中的图像。如果堆栈为空,请调用finish()并返回到网格。

0

我想说的一个建议不是为“详细”视图打开一个新的活动。而是用新的支持数据刷新活动。这样,活动堆栈中只有2个活动。如果您想要至少最后3个详细页面然后覆盖后退按钮并保持3个图像的堆栈以显示详细信息页面。