提交 3fcc518d 编写于 作者: J JessYan

Use default method on IView

上级 f3ab3a5a
......@@ -40,6 +40,8 @@ import me.jessyan.mvparms.demo.mvp.contract.UserContract;
import me.jessyan.mvparms.demo.mvp.presenter.UserPresenter;
import timber.log.Timber;
import static com.jess.arms.utils.Preconditions.checkNotNull;
/**
* ================================================
......@@ -117,12 +119,14 @@ public class UserActivity extends BaseActivity<UserPresenter> implements UserCon
}
@Override
public void showMessage(String message) {
public void showMessage(@NonNull String message) {
checkNotNull(message);
ArmsUtils.snackbarText(message);
}
@Override
public void launchActivity(Intent intent) {
public void launchActivity(@NonNull Intent intent) {
checkNotNull(intent);
ArmsUtils.startActivity(intent);
}
......
......@@ -19,9 +19,16 @@ import android.app.Activity;
import android.content.Intent;
import android.support.annotation.NonNull;
import com.jess.arms.utils.ArmsUtils;
import static com.jess.arms.utils.Preconditions.checkNotNull;
/**
* ================================================
* 框架要求框架中的每个 View 都需要实现此类,以满足规范
* 框架要求框架中的每个 View 都需要实现此类, 以满足规范
* <p>
* 为了满足部分人的诉求以及向下兼容, {@link IView} 中的部分方法使用 JAVA 1.8 的默认方法实现, 这样实现类可以按实际需求选择是否实现某些方法
* 不实现则使用默认方法的中逻辑, 不清楚默认方法的请自行学习
*
* @see <a href="https://github.com/JessYanCoding/MVPArms/wiki#2.4.2">View wiki 官方文档</a>
* Created by JessYan on 4/22/2016
......@@ -34,12 +41,16 @@ public interface IView {
/**
* 显示加载
*/
void showLoading();
default void showLoading() {
}
/**
* 隐藏加载
*/
void hideLoading();
default void hideLoading() {
}
/**
* 显示信息
......@@ -53,10 +64,15 @@ public interface IView {
*
* @param intent {@code intent} 不能为 {@code null}
*/
void launchActivity(@NonNull Intent intent);
default void launchActivity(@NonNull Intent intent) {
checkNotNull(intent);
ArmsUtils.startActivity(intent);
}
/**
* 杀死自己
*/
void killMyself();
default void killMyself() {
}
}
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册