如何启动包装的活动对象



我正在Android Studio中构建一个全屏应用程序。我的应用程序代码受到DRY和KIS原则的约束。在开始的活动中,我设法使全屏代码符合这两个要求。然而,我需要一个新的活动来处理一些事情,而新的活动显然不是全屏的。我知道如何使用Intent启动新活动,但这不会让我在约束条件下使用一个新的活动开始它。

我的想法是通过在开始活动中创建一个新活动的对象并将其包装(如Decorator模式(并将包装传递给意图来保持它的干燥和简单。包装器将包含确保活动处于全屏状态的代码。包装器是必要的,因为这两个原则。我还计划有更多的全屏活动,这样它就会被重用。

事实证明Intent根本无法接受Activity对象。

我的问题是:如何使用"活动"对象启动新活动?或者甚至还有其他类似的方法,但同时遵守DRY和KIS?

我发现解决方案确实不可能是DRY和Simple。一个抽象的"FullscreenComptActivity"类将由全屏的活动继承。在执行此操作之前,他们必须传递根视图并使用setContent。尽管继承保持了这种DRY,但它并不简单,因为需要特定的调用。

查看代码:https://github.com/ElwinBran/SuperclusterConflict

最新更新