从碎片到活动的重构

时间:2013-08-18 05:08:39

标签: android android-fragments

这有点绝望,需要一些好的建议。

我开始做一个涉及导航抽屉作为应用程序主菜单的项目。看完Android tutorial后,我按照示例开始进行开发。该示例是根据抽屉中所选选项替换片段的单个活动。在某种程度上,我遵循了这个设计,因为如果我启动了活动,抽屉就会丢失,并且活动会在启动过渡时显示,并且看起来并不好看。

现在,我的项目不是一个小项目。在开发过程中,我遇到了几个问题:

  • onResume没有在片段上被调用(由于没有附加到几个活动而是一个活动。
  • 片段之间的所有数据都应通过单个活动
  • 管理ActionBar中的选项菜单变得非常痛苦。
  • 其他许多我现在都不记得

现在我正面临一个新问题。在其中一个片段中,我需要一个Spinner来切换这个片段。当然,片段需要更改操作栏中的导航模式。这是一个令人头疼的问题,但现在我面临着一个更大的问题,即一些片段内部失去了活动环境(比如它们是否被分离)。

在遇到这么多问题后,我决定将整个应用程序切换回活动(这是一个仅在1个平板电脑模型中运行的自定义应用程序,所以不用担心碎片)。所以,简而言之,我正在寻找关于这种不那么痛苦的方法的建议。

我处于一个非常紧迫的截止日期,导致我开始实施而没有设计(就像一个完整的菜鸟)。现在我遇到了很多问题,如果我不需要钱,我会立刻取消这个项目。

请帮忙!

1 个答案:

答案 0 :(得分:1)

我可以给出一些建议,但遗憾的是,你的情况不能通过这里的任何答案真正解决。

首先,从Fragment设计切换到Activity设计比切换相反方式容易得多。您实际上可以使用之前拥有的所有片段,并且每个活动只加载一个片段(如果您愿意,可以加载多个片段)。

此外,在处理Intents(开始新活动)时,在startActivity()调用之后,您可以调用overridePendingTransition()进行任何您想要的启动转换(或完全删除它)。