分别抽接口,控制层,activity
iview基类
public interface Iview {
}
BasePresenter基类
public abstract class BasePresenter<V extends ShowView> { private V view; public BasePresenter(V view) { this.view = view; initModel(); } protected abstract void initModel(); void onDestory(){ view=null; } }
BaseActivity基类
解决内存泄露
public abstract class BaseActivity<P extends BasePresenter> extends AppCompatActivity { protected P presenter; @Override protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(provideLayoutId()); initView(); initListener(); presenter=providePresenter(); initData(); } protected abstract P providePresenter(); protected void initData() {} protected void initListener(){}; protected void initView(){}; protected abstract int provideLayoutId(); @Override protected void onDestroy() { presenter.onDestory(); super.onDestroy(); }