TheMVP 跟着代码走,绝对能实现(超简单)

 

一、关于TheMVP的优缺点:访问此网站有详细讲解https://kymjs.com/code/2015/11/09/01/

 本文仅提供TheMVP框架代码(如果您照我的步骤简单搭个TheMVP框架再去与这篇文章对比会很好理解):

model层其实就是存放我们需要的实体类。及其他数据。本文测试未使用,所以就没有写。

基本框架模型:

1.建包View

1.1view包下创建接口   IDelegate    定出规范:

package com.example.dw.dw20181121moni.view;

import android.content.Context;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;

public interface IDelegate {
    //初始化方法
    void initData();
    //获取布局
    void create(LayoutInflater inflater, ViewGroup viewGroup, Bundle bundle);
    //获取视图
    View getRootView();
    //获取上下文
    void getContext(Context context);
}

1.2 view包下创建抽象类 AppDelegate 实现接口 IDeltegate

initData和getContext在这里无用,我把这两个方法此类里删除掉了。另外可以在这里写两个方法,一个get()我是用来获取控件ID,一个setClick()我用来设置点击事件,这样在我的子presenter层只需要get(R.id.xxx);就可以获取的我的控件,而点击事件就更简单了,我只需要setClick(this.R.id.xxx);就可以设置我的点击事件。

我们要在这里拿到我们的layout,但是目前并不存在,所以定义一个抽象方法(getLayoutId()),在我们子persenter继承我们的AppDelete的时候,将对应的layout传过来。这个类只需要以下代码这些操作便完成了(你完全可以在这个类定义任何你觉得可以简化代码的方法,比如Toast)

package com.example.dw.dw20181121moni.view;

import android.os.Bundle;
import android.util.SparseArray;
import android.view.LayoutInflater;
import an
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值