DatePickerDialog时间选择器+MVPPlugin开发插件的使用,系列篇

最近做项目一直想使用MVPPlugin插件来开发,下载了插件,今天借着写DatePickerDialog时间选择器的demo,来看一下这个MVPPlugin插件的使用,就是一个很简单的使用方式,可以根据自己的需求,自己添加更多的方法和功能。

先看一下效果图:

这里写图片描述

这里写图片描述

以上是选择年份的效果图,很简单的实现。

首先要安装MVPPligin这个插件,安装方法请查看:http://blog.csdn.net/huang3513/article/details/70213678这篇文章,在安装完成之后,会生成相应的基础代码类,这样我们只要在对应的类中做代码处理即可。

然后我们看一下包的结构图:

这里写图片描述

直接上代码:

1.MainActivity.class类主要负责数据的显示,在mvp中不做太多的业务逻辑处理,代码很简单,如下:

/**

  • MVPPlugin

  • MainActivity主界面

*/

public class MainActivity extends MVPBaseActivity<MainContract.View, MainPresenter> implements MainContract.View {

private Button yearBtn;

private Button monthBtn;

@Override

protected void onCreate(@Nullable Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

yearBtn = (Button)findViewById(R.id.button_year);

monthBtn = (Button)findViewById(R.id.button_month);

initView();

}

private void initView() {

mPresenter.setView();

mPresenter.onClickBtn();

}

@Override

public Button getYearButton() {

return yearBtn;

}

@Override

public Button getMonthButton() {

return monthBtn;

}

@Override

public Activity getActivity() {

return MainActivity.this;

}

}

2.MainContract.class类中,主要在接口中定义我们想要的方法,示例代码如下:

/**

  • MVPPlugin

  • 主要在接口中定义出我们自己想要的方法

*/

public class MainContract {

interface View extends BaseView {

Button getYearButton();

Button getMonthButton();

Activity getActivity();

}

interface Presenter extends BasePresenter {

void setView();

void onClickBtn();

}

}

**3.MainPresenter.class是主要负

《Android学习笔记总结+最新移动架构视频+大厂安卓面试真题+项目实战源码讲义》

【docs.qq.com/doc/DSkNLaERkbnFoS0ZF】 完整内容开源分享

责MainActivity的业务逻辑处理,来分担view层的压力**

/**

  • MVPPlugin

  • MainActivity的业务逻辑处理

*/

public class MainPresenter extends BasePresenterImpl<MainContract.View> implements MainContract.Presenter{

Button yearBtn,monthBtn;

Activity mActivity;

Calendar calendar_selected = Calendar.getInstance();

@Override

public void setView() {

yearBtn = mView.getYearButton();

monthBtn = mView.getMonthButton();

mActivity = mView.getActivity();

}

@Override

public void onClickBtn() {

/**

  • 时间选择器(选择的年份)

*/

yearBtn.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View v) {

int year = calendar_selected.get(Calendar.YEAR);

int month = calendar_selected.get(Calendar.MONTH);

int day = calendar_selected.get(Calendar.DAY_OF_MONTH);

//时间选择器(选择年份)

MyDatePickerDialog myDatePickerDialog = MyDatePickerDialog.newInstance(new MyDatePickerDialog.OnDateSetListener() {

@Override

public void onDateSet(MyDatePickerDialog view, int year, int monthOfYear, int dayOfMonth) {

Toast.makeText(mActivity,year+"",Toast.LENGTH_LONG).show();

}

},year, month, day);

myDatePickerDialog.showYearPickerFirst(true);

myDatePickerDialog.setMaxDate(Calendar.getInstance());

myDatePickerDialog.setTitle(“选择年份”);

myDatePickerDialog.show(mActivity.getFragmentManager(), “myDatePickerDialog”);

}

});

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值