在我的Android应用程序中,我有两个活动。
我实现的方式是:
WebServiceTask。这两个活动都执行此任务。WebServiceTaskInvoker接口,这样每个活动都可以指定在preExecute、postExecute、progressUpdate上发生的事情。问题是,这两个活动在preExecute、postExecute和progressUpdate上做的事情几乎是完全相同的,所以这两个活动之间有代码重复。
我怎么才能解决这个问题?
WebServiceTask中,但这将导致紧密的内聚。发布于 2013-07-16 21:52:10
为执行公共代码的两个活动实现一个基类。将这些活动实现为基类的子类,以执行不同的代码。
发布于 2013-07-16 22:36:46
凯瑟琳建议的另一种方法是创建一个活动模式枚举。
在启动活动时,将此模式作为附加模式传递。
如果模式为MODE_GALLERY,则加载gallery.xml布局并填充它,如果不是,则加载其他布局。
只需确保在常见视图中使用相同的id,一个简单的方法就是在布局文件中使用包含标记。
这样做的优点是您只有一个活动文件,而不是子类方法所需的三个活动文件。
你也可以使用片段,但我没有任何经验,所以我不能进一步建议你。
最后一个注意事项,我将避免将UI代码放入任务中。
https://stackoverflow.com/questions/17687611
复制相似问题