mvp
来源:互联网 发布:淘宝网开店要交钱吗 编辑:程序博客网 时间:2024/04/29 05:48
presenters
/** * Created by lyl on 2016/3/17. */public abstract class MVPBasePresenter<V extends MVPView> implements MVPPresenter<V> { private WeakReference<V> viewRef; public void attachView(V view) { viewRef = new WeakReference<V>(view); } protected V getView() { return viewRef.get(); } protected boolean isViewAttached() { return viewRef != null && viewRef.get() != null; } public void detachView() { if (viewRef != null) { viewRef.clear(); viewRef = null; } }}-------------------------------------------------------------------------------------/** * Created by lyl on 2016/3/17. */public interface MVPPresenter<V extends MVPView> { void attachView(V view); void detachView();}-------------------------------------------------------------------------------------/** * Created by lyl on 2016/3/17. */public interface OrderShowPresenter extends MVPPresenter<IOrderShow> { void login(); void linkSocket();}-------------------------------------------------------------------------------------/** * Created by lyl on 2016/3/17. */public interface OrderShowPresenter extends MVPPresenter<IOrderShow> { void login(); void linkSocket();}/** * Created by lyl on 2016/3/17. */public class OrderShowPresenterImpl extends MVPBasePresenter<IOrderShow> implements OrderShowPresenter { @Override public void login() { getView().ShowOrderInfo(); }}-------------------------------------------------------------------------------------
views
/** * Created by lyl on 2016/3/17. */public abstract class MvpBaseActivity<P extends MVPPresenter> extends Activity implements MVPView { protected P presenter; protected abstract P createPresenter(); @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); presenter = createPresenter(); if (presenter == null) { throw new NullPointerException("Presenter is null! Do you return null in createPresenter()?"); } presenter.attachView(this); } @Override protected void onDestroy() { super.onDestroy(); presenter.detachView(); } @Override public Context getContext() { return this; }}-------------------------------------------------------------------------------------/** * Root class for view classes */public interface MVPView { android.content.Context getContext();}-------------------------------------------------------------------------------------/** * Created by lyl on 2016/3/17. */public interface IOrderShow extends MVPView { void ShowOrderInfo(List<OrderPanding> listPanding,List<OrderPanding> listProcess,List<OrderPanding> listSuccess);}
activity
public class MainActivity extends MvpBaseActivity<OrderShowPresenter> implements IOrderShow { @Override protected OrderShowPresenter createPresenter() { return new OrderShowPresenterImpl(); } @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); presenter.login(); } @Override public void ShowOrderInfo() {}}
0 0
- MVP
- MVP
- MVP
- MVP
- MVP
- MVP
- MVP
- MVP
- mvp
- MVP
- MVP
- mvp
- MVP
- MVP
- MVP
- MVP
- MVP
- MVP
- Storm集群组件和编程模型
- 带有Synchronized修饰的方法与普通方法在一个类中执行线程
- 49. Group Anagrams
- 310. Minimum Height Trees
- 简单的上下滚动
- mvp
- git向github上传完整项目
- 【bzoj3993】[SDOI2015]星际战争 二分+最大流
- 82. Remove Duplicates from Sorted List II
- OkHttp + Gson
- 黑科技:自定义百度云分享密码
- Android ListView item中有按钮(Button)不能点击或者条目不能点击的问题
- PHP并发IO编程之路
- Android dip/dp sp px 单位转换小结 applyDimension