使用抽象基础片段进行导航

Navigation with abstract base fragment

我的设置类似于下面的导航图。中间的3个片段很相似,都扩展了一个BaseFragment class.

我想做的是BaseFragment抽象化,这样我的导航图就可以简化为下图

这可能吗?它会大大减少我的导航图的混乱,因为最终会有超过 20 children。但是,我认为这种改进需要我实例化一个抽象 class,这是不可能的。

不,Fragment不能是抽象的。

我决定的解决方案是使用一个助手 class 来存储我想要在片段中显示的数据。这个助手 class 对每个原始 ChildFragment class 都有一个 child。

我可以通过简单地读取存储在这个助手 class 中的数据来动态填充我的片段,从而允许我实现问题中的第二个数字。