一个活动的多个实例 - 这是一种不好的做法吗?

时间:2016-08-02 16:16:43

标签: android android-fragments android-activity

我正在创建一个应用程序,它将在每个网格方块中包含多个“网格”,其中包含标题和图像缩略图。

每个网格都会存储不同的内容。

到目前为止,我创建了一个初始化GridView实例的活动,并使用自定义GridAdapter。 (查看照片目前的样子)我打算向左滑动以创建一个新的空网格,用户可以在其中上传内容。最多可能有50个网格。

我正在学习如何实现手势,以及如何创建活动的新实例,但从我读过的内容来看,我认为我的设计非常糟糕。

我计划将每个网格作为一个活动(每个网格都占据整个屏幕)。

我设想一个Activity就像java中的一个类,你可以从蓝图创建实例。我想如果我创建了一个'Grid',我每次都可以创建一个新的实例。片段当时似乎不合适,因为android教程经常将它们描述为用于向活动添加组件。

我开始认为我在这里使用了错误的方法,我需要改变它吗?有人能引导我朝正确的方向发展吗?我已经编写了所有代码 - 如果我需要更改它,片段和活动是否共享任何方法,这意味着我可以保留一些工作?

enter image description here

1 个答案:

答案 0 :(得分:1)

正如您所提到的,在您的用例中使用用于保存内容的活动,其中可以使用手势触发切换,这肯定会是资源繁重且繁琐的。既然,你提到了滑动手势,我相信在这种情况下片段会很轻巧。事实上,我建议你甚至看看ViewPager甚至为你回收片段,并通过加载下一个片段以获得更流畅的体验来优化用户体验。它还将为您处理滑动手势!

<强> [UPDATE]

根据您对用户流程的更新说明,我确信ViewPager可以作为更好的选择,主要是因为它允许更好的控制和用户导航。它还将处理这些类型的流程带来的滑动手势和内存问题。此外,它甚至允许页面标题和底部标签指示符,以备不时之需。

它需要每个页面都是一个片段(您的ViewPager本身将驻留在Activity)。用户单击网格单元后,您可以显示一个对话窗口,从中可以捕获用户输入。在我看来,这种设置应该是资源方面的最佳选择。