首页 文章

Android MVP中的一个Activity中的多个片段

提问于
浏览
2

我正在使用Android MVP架构,我正在关注Google MVP Architecture .

当Activity有多个片段时我面临问题,在我的案例活动中有2个标签 . 我无法理解,我应该为每个片段创建两个Presenter还是我应该为此创建一个Presenter?与View相同 .

即使我没有在google-sample github repository找到任何解决方案 .

任何人都可以建议我或告诉我实时代码,以满足我的上述要求 .

2 回答

  • 0

    如果这两个片段相同,那么您可以使用相同的视图和演示者 . 如果片段是相同的,那么不同的视图和演示者会更好 .

  • 0

    我总是为活动中的不同片段创建不同的演示者/视图,除非他们在某个特定百分比上共享相同的方法 . 但是为了让事情变得更干净,我相信分开创造事物会更好 .

    1-您必须在Fragment的onCreate()方法内初始化您的演示者 . 为此,我总是有一个负责注入的依赖注册表类 .

    public void inject(ReportingHistoryDetailsFragment fragment, ReportingHistoryResponse.TaskBean taskBean) {
            ReportingHistoryDetailsPresenter presenter = new ReportingHistoryDetailsPresenter(modelLayer,fragment,taskBean);
            fragment.configureWith(presenter);
        }
    

    我打电话给我的片段里面的2-

    @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
    
            DependencyRegistry.shared.inject(this, taskBean);
    
        }
    

    3-我的基本视图界面有

    public interface BaseView <T> {
    
        void configureWith(T presenter);
    
    }
    

    如果您有多个片段由活动管理,则每个片段都会实现您的View界面并具有实现Presenter界面的相应演示者 .

    希望这可以帮助 .

相关问题