1

在 Ice Cream Sandwich/Honeycomb 出现之前,开发人员过去常常围绕活动制作逻辑流,以处理屏幕的 UI 交互。我面临的任务是制作一个组合选项卡/视图分页器,每个选项卡都充当片段活动。

最终结果是我的原始代码看起来很混乱,或者设计片段活动的方法不好!

考虑一下,一个活动管理一个屏幕,该活动控制该屏幕的所有 UI 方面。现在,通过使用 ActionBarSherlock,我将屏幕 UI 控件移动到片段活动的布局中,现在有一个带有选项卡处理机制的主要活动,用于从一个选项卡滑动到下一个选项卡,就像以前一样,开始意图启动另一个活动。

我的问题是:既然原始代码在片段活动中,那么拆分原始代码的最佳方法是什么?我曾考虑过使用处理程序在内部将消息从片段活动传递到主要活动,但事实证明这是我的感受,是错误的方法。

我为此使用 ActionBarSherlock。

已搜索但找不到此场景的具体示例以及如何处理它。

编辑:在 CommonsWare 发表评论后,这是意图,请查看http://androiduipatterns.com “Lewis Llewellyn 和 Facebook”屏幕截图上显示的第二张图片,这就是我想要实现的目标。

之前:Activity处理一个屏幕的 UI 方面。

现在:SherlockFragmentActivity使用ViewPagerTab-host,这是 apk 的“主要”活动,每个选项卡片段都从SherlockFragment. 每个选项卡现在都是一个带有 UI 控件的屏幕。

4

2 回答 2

3

恕我直言,每个片段都ViewPager与自己打交道,因为它不知道目前可能存在哪些其他片段。该片段中可能影响其他片段或整个活动的任何事件都可以通过 传递给托管活动getActivity(),如果您计划从多个活动托管此片段,则可能将其转换为接口。不需要Handler

于 2012-04-28T22:43:51.720 回答
2

所以我想你想要的不是在不同的片段之间复制代码,对吗?在非常相似的片段的情况下,我所做的是使用我扩展的相同代码创建一个基本片段。我经常注意到的另一种选择是使用(静态)方法创建辅助类。在任何情况下,请确保永远不要从不同的片段调用片段。

于 2012-04-29T10:58:19.060 回答