2

我最近决定更新我的应用程序以支持蜂窝 3.0 中的新片段功能。我的应用程序当前在列表视图上工作,该列表视图根据单击的列表项打开不同的活动。使用本教程中的代码改编,我创建了一个仅包含两个活动的应用程序,但根据单击哪个列表项,第二个“查看器”活动使用不同的布局 xml 启动。

不幸的是,我无法弄清楚如何调用具有所有功能的旧方法。我应该导入所有旧活动,然后将方法调用到查看器活动中(我可能需要一些关于如何执行此操作的建议)还是应该将所有方法直接放入同一个查看器活动中(请考虑这些方法(顺便说一句非常大))。

一旦一切都与两个活动一起工作,那么这将是一个非常简单的任务,即“碎片化”应用程序,如此处所示虽然 我没有考虑过可能有一种方法可以允许多个片段在一个活动中占据相同的空间(如果是这种情况,请告诉我它是如何完成的)

谢谢

4

2 回答 2

1

正如 James 所指出的,您必须将业务逻辑从您的活动转移到您的片段。要处理事件,您可以创建一个侦听器接口。CONTAINER 活动/ies 将实现此接口。由于片段可以访问容器活动,您将能够将所需事件的“逻辑”委托给容器活动。对于此事件,活动将决定是否启动新活动、显示/隐藏新片段或其他任何内容。

我有一个类似的问题,看看问题和答案:here

虽然我没有考虑过可能有一种方法可以让多个片段在一个活动中占据相同的空间(如果是这种情况,请告诉我它是如何完成的)

我认为允许多个片段在一个活动中占据相同的空间是可能的。再次,看看这里的答案......我认为 Activity 的概念/范围已经发生了一些变化,现在一个 Activity 可以包含不同的片段,每个片段都允许用户做一个专注的事情。

于 2011-04-21T09:22:38.747 回答
0

我不确定“调用具有所有功能的旧方法”是什么意思。您需要将所有活动类重写为片段。在此处查看本教程(非常简洁)。基本上,您需要一个由 ListFragment 和 FrameLayout 组成的活动。您的 ListFragment 将通过根据选择的行更改为适当的 Fragment 来更新 FrameLayout。

于 2011-04-11T14:54:08.307 回答