实现 MVP 的方法可能有很多。我们主要使用 3 样东西。- 视图 - 演示者 - 模态
在创建这些东西之前,您应该清楚您的屏幕工作。
例如,如果你想要一个登录屏幕。首先创建活动的结构(使用接口)。就像您的演示者和视图将包含的内容一样。
public interface LoginPresenter {
void validateCredentials(String username, String password);
void onDestroy();
}
视图结构:
public interface LoginView {
void showProgress();
void hideProgress();
void setUsernameError();
void setPasswordError();
void navigateToHome();
}
现在这些是您需要在您的视图类(活动/片段)和您的逻辑部分所在的演示者上实现的类。
现在关于您的查询。
这意味着该活动将具有两个演示者实例。
不,您的活动不应要求有多个演示者。它已经打开了片段引用(通过 findfragmentby id 或 tag)。
谁负责打开第二个片段?
您可以从其中任何一个活动/片段中打开它。如果 Activity 使用 getfragmentsupportManager 如果 Fragment 使用 getfragmentManager
注意: 有关更多信息,请遵循此 git 示例。
https://github.com/antoniolg/androidmvp