Android 活动太大了。如何将其拆分为多个文件

Android 活动太大了。如何将其拆分为多个文件,android,android-activity,Android,Android Activity,我正在构建一个Android应用程序,它有一个复杂的屏幕,有很多逻辑。 它当前包含一个列表视图、选项卡、搜索框和一个用于更新用户资料的面板。 问题是mainactivity代码文件变得非常大,尽管我将内容分为不同的层,因为有很多UI组件会影响屏幕中的内容 我正试图将它分为几个文件,但似乎做得不对。 据我所知,碎片不是我需要的。还有其他方法吗? 请给我指路 我问的主要是代码,而不是布局(尽管我也不在乎更改布局) 目前它有616条线路,最大的问题是我们是一个团队,维护变得非常糟糕 创建实用程序类并将

我正在构建一个Android应用程序,它有一个复杂的屏幕,有很多逻辑。
它当前包含一个列表视图、选项卡、搜索框和一个用于更新用户资料的面板。
问题是mainactivity代码文件变得非常大,尽管我将内容分为不同的层,因为有很多UI组件会影响屏幕中的内容

我正试图将它分为几个文件,但似乎做得不对。
据我所知,碎片不是我需要的。还有其他方法吗?
请给我指路

我问的主要是代码,而不是布局(尽管我也不在乎更改布局)


目前它有616条线路,最大的问题是我们是一个团队,维护变得非常糟糕

创建实用程序类并将侦听器和适配器放在那里。仅使用主活动初始化视图实例并设置侦听器和适配器。

虽然616不是一个特别大的文件,但您可以使用片段,因为它们只是添加了另一层抽象。它们的生命周期也与活动类似

本教程演示如何将片段添加到选项卡


您可以创建一个基类,将所有初始化和侦听器放在那里。
同样,对于以后要实现的函数,在基类中创建一个模板,并在主活动中重写它。它起作用了

多大太大?Java中的2000多行是
普通业务
。实际上,片段可以帮助您,尤其是在使用选项卡时。它们只是另一个抽象层,具有与活动相似的生命周期。如果你把你的课贴成well@Funkystein罗伯特·C·马丁可能disagree@HagaiL您可以将布局拆分为逻辑组件吗?i、 e.您能否将布局中的视图分组,以便将某些逻辑委托给这些视图,因此您的活动只需要处理高级概念(
loginFormView.getCredentials()
vs从每个编辑文本中获取文本并在活动中验证)@Funkystein嗯,我知道我们需要务实,但我在我的任何项目中都找不到任何2000多行的类。你愿意把所有的点击侦听器放在实用类中吗?!这是解决我问题的常见方法吗?但是如果它影响视图中的其他部分,那么实用程序类也应该知道它。。这不会使事情变得更复杂吗?如果您单击“侦听器正在更改其他视图”,请不要将其放在实用程序类中。但您始终可以为适配器创建单独的类。