public class MainActivity extends BaseMvpActivity<IView,MyPresenter>{ @Override protected MyPresenter initpresenter() { return new MyPresenter(); } @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); initpresenter().getData(); } }
public abstract class BaseMvpActivity <V,T extends BasePresenter<V>>extends IActivity{ private T initpresenter; protected abstract T initpresenter(); @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); initpresenter = initpresenter(); } //绑定资源 @Override protected void onResume() { super.onResume(); initpresenter.attach((V)this); } //释放资源 @Override protected void onDestroy() { super.onDestroy(); initpresenter.destory(); }
public abstract class BasePresenter<T> { private T view; public void attach(T view) { this.view=view; } public void destory() { this.view=null; } }
public class IActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_i); } }
public interface IView { }
class MyModel { public void getData() { } }