BaseMVPCompatActivity.java
2.16 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
package com.share.mvpsdk.base.activity;
import android.os.Bundle;
import android.support.annotation.NonNull;
import com.share.mvpsdk.base.BasePresenter;
import com.share.mvpsdk.base.IBaseActivity;
import com.share.mvpsdk.base.IBaseModel;
import com.share.mvpsdk.utils.ToastUtils;
/**
* Created by Horrarndoo on 2017/4/6.
* <p>
* Mvp Activity基类
*/
public abstract class BaseMVPCompatActivity<P extends BasePresenter, M extends IBaseModel> extends
BaseCompatActivity implements IBaseActivity {
/**
* presenter 具体的presenter由子类确定
*/
protected P mPresenter;
/**
* model 具体的model由子类确定
*/
private M mIMode;
/**
* 初始化数据
* <p>
* 子类可以复写此方法初始化子类数据
*/
protected void initData() {
super.initData();
mPresenter = (P) initPresenter();
if (mPresenter != null) {
mIMode = (M) mPresenter.getModel();
if (mIMode != null) {
mPresenter.attachMV(mIMode, this);
}
//Logger.d("attach M V success.");
}
}
@Override
protected void onDestroy() {
super.onDestroy();
if (mPresenter != null) {
mPresenter.detachMV();
//Logger.d("detach M V success.");
}
}
@Override
public void showWaitDialog(String msg) {
showProgressDialog(msg);
}
@Override
public void hideWaitDialog() {
hideProgressDialog();
}
@Override
public void showToast(String msg) {
ToastUtils.showToast(msg);
}
@Override
public void startNewActivity(@NonNull Class<?> clz) {
startActivity(clz);
}
@Override
public void startNewActivity(@NonNull Class<?> clz, Bundle bundle) {
startActivity(clz, bundle);
}
@Override
public void startNewActivityForResult(@NonNull Class<?> clz, Bundle bundle, int requestCode) {
startActivityForResult(clz, bundle, requestCode);
}
@Override
public void hideKeybord() {
hiddenKeyboard();
}
@Override
public void back() {
super.onBackPressedSupport();
}
}