android mvp开源框架,android mvp快速开发框架介绍(dileber 三)

继续为大家介绍android mvp开源框架 dileber

这节5主要介绍 主要功能 presenter 和 delegate的使用

写一个类继承于AppViewDelegate

public class SplashViewDelegate extends AppViewDelegate{

@Override

public int getRootLayoutId() {

return R.layout.activity_splash;

}

LinearLayout splash_layout;

ImageView imageView;

@Override

public void initWidget() {

super.initWidget();

splash_layout = bindView(R.id.splash_layout);

imageView = bindView(R.id.imageView);

}

}

如图需要实现 getRootLayoutId方法,这个方法主要就是返回 splashactivity的layout

SplashViewDelegate

这个delegate就是专门为splashactivity产生的类

initwidget就是可以初始化一些组件

你可以把你要初始化的组件放到这里,还可以在这个类里写一些展示效果

展示效果可以写到view接口

再通过对接口的编程,达到需要的效果

implements ISplashView{

如果你想获得当前activity

则可以使用

getActivity();

获得当前layout

getRootView()

然后开始讲解 presenter了

首先我想讲两个特殊的注解

@CloseStatusBar

@CloseTitle

public class SplashActivity extends ActivityPresenter {

一个是

@CloseStatusBar

他的作用是可以使得当前activity全屏

一个是

@CloseTitle

他的作用是可以使得当前activity的title消失

上面的两个注解主要为了方便开发

presenter一般使用代码如下

public class SplashActivity extends ActivityPresenter {

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

ISplashScm imageSrc = new SplashScm();

imageSrc.showSplashResourceImage((ImageView) viewDelegate.get(R.id.imageView));

GoodsListScm goodsListScm = new GoodsListScm();

goodsListScm.getGoodsList(null, null, null, null, null, new OnGoodsListListener() {

@Override

public void before() {

viewDelegate.loading();

}

@Override

public void success(GoodsModel model) {

String ss = HJson.toJson(model);

SLog.i(">>>>>>",ss);

viewDelegate.loadDialogDismiss();

}

@Override

public void failed() {

viewDelegate.loadDialogDismiss();

}

});

}

@Override

protected Class getDelegateClass() {

return SplashViewDelegate.class;

}

@Override

protected void bindEvenListener() {

super.bindEvenListener();

}

@Override

public void onClick(View view) {

}

}

你可以在bindevenlistener中编写监听器代码,

如下

@Override

protected void bindEvenListener() {

super.bindEvenListener();

viewDelegate.setOnClickListener(this,R.id.mask_left);

}

或者如下

viewDelegate.setOnClickListener(this,R.id.mask_left,R.id.confirm_button);

或者如下

viewDelegate.setOnClickListener(this,button1,view2,view3);

如果你想展示 toast

我写了一个自定义的toast帮助你使用

viewDelegate.toast("ddddd", Toast.LENGTH_SHORT);

还有一个不错的 加载框

viewDelegate.loading();

viewDelegate.loadDialogDismiss();

注意成对使用

还有一个确定取消框

viewDelegate.dialogOk("eeee", new DialogLinstener() {

@Override

public void confirm(Dialog dialog) {

}

@Override

public void cancel(Dialog dialog) {

}

});

错误对话框

viewDelegate.showAlert(SplashViewDelegate.DIALOG_ERROR,"ddd");

成功对话框

viewDelegate.showAlert(SplashViewDelegate.DIALOG_SUCCESS,"ddd");

最基本的使用就是这么多了

下节我将对我封装的一些好用的工具进行讲解

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值