第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

android mvp快速開發(fā)框架介紹(dileber 三)

標(biāo)簽:
Android
该旧款android框架已经不再使用,详细更新框架,请移到 android开发(如何开发一个可以维护的好项目):一 、定义基类 项目新框架地址也变更为https://github.com/dileber/ndileber

android mvp框架:dileber(https://github.com/dileber/dileber.git

继续为大家介绍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<SplashViewDelegate> {
一个是
@CloseStatusBar
他的作用是可以使得当前activity全屏

一个是

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

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

presenter一般使用代码如下

public class SplashActivity extends ActivityPresenter<SplashViewDelegate> {

@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<GoodsModel>() {
        @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<SplashViewDelegate> 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");

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

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

點(diǎn)擊查看更多內(nèi)容
9人點(diǎn)贊

若覺得本文不錯(cuò),就分享一下吧!

評(píng)論

作者其他優(yōu)質(zhì)文章

正在加載中
移動(dòng)開發(fā)工程師
手記
粉絲
81
獲贊與收藏
3604

關(guān)注作者,訂閱最新文章

閱讀免費(fèi)教程

感謝您的支持,我會(huì)繼續(xù)努力的~
掃碼打賞,你說多少就多少
贊賞金額會(huì)直接到老師賬戶
支付方式
打開微信掃一掃,即可進(jìn)行掃碼打賞哦
今天注冊(cè)有機(jī)會(huì)得

100積分直接送

付費(fèi)專欄免費(fèi)學(xué)

大額優(yōu)惠券免費(fèi)領(lǐng)

立即參與 放棄機(jī)會(huì)
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)

舉報(bào)

0/150
提交
取消