3 回答
TA贡献2036条经验 获得超8个赞
您的解决方案是正确的,但最好使用 MVVP。您必须检查许多可能导致应用程序崩溃的条件,例如组件生命周期。但是在 MVVP 中,不需要检查这个条件。
TA贡献1804条经验 获得超8个赞
再添加一个回调
public interface LoginMVP {
interface View {
void showLoadingIndicator(boolean active);
void loginSuccess();
void loginFailured(String message);
}
interface Presenter {
void validateFields(String email, String password);
void loginServerCallback();
}
interface OnLoginCallBack{
void onSuccess();
void onError();
}
interface Model {
void loginServer(String email, String password);
}
}
并像这样在演示者中调用登录方法
public void doLogin(String userName, String password) {
view.showLoadingIndicator(true);
modal.loginServer(userName, password, new LoginMVP.OnLoginCallBack() {
@Override
public void onSuccess() {
view.showLoadingIndicator(false);
view.loginSuccess();
}
@Override
public void onError() {
view.showLoadingIndicator(false);
view.loginFailured("SomeError");
}
});
}
TA贡献1815条经验 获得超13个赞
从您的活动或片段中,presenter.loginServerCallback()
在验证后调用 。
在loginServerCallback()
in内部LoginPresenter
,处理成功和错误并将视图更新为view.loginSuccess()
和view.loginFailure("msg")
添加回答
举报