MVP解绑
来源:互联网 发布:分配算法 编辑:程序博客网 时间:2024/06/11 18:41
public interface lhModel { void loadData(HomeDataCallback callback); interface HomeDataCallback{ void complete(List name); }}public class HomeModel implements lhModel { @Override public void loadData(HomeDataCallback callback) { List list = new ArrayList(); for (int i = 0;i<30;i++){ list.add("数据"+i); } callback.complete(list); }}public interface IPresenter<T> { void attach(T view); void detach();}public class Homepersenter implements IPresenter<HmView> { private HomeModel model; //双层保证 不会出现内存泄漏 //1、软引用 在内存不足时会回收 如果Activity意外终止 使用该方式能保证 public WeakReference<HmView> mRefView; //2、通过手动的方式直接释放 activity销毁时直接回收 public Homepersenter(HmView view) { this.model = new HomeModel(); attach(view); } //进行和View层的绑定 activity @Override public void attach(HmView view) { mRefView = new WeakReference<HmView>(view); } //和View层解绑 @Override public void detach() { mRefView.clear(); Log.e("info","解绑"); } public void showListData(){ model.loadData(new lhModel.HomeDataCallback() { @Override public void complete(List list) { mRefView.get().showListData(list); } }); }}public interface HmView { void showListData(List name);}public class MainActivity extends AppCompatActivity implements HmView { private Homepersenter persenter; private ListView lv; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); lv = (ListView) findViewById(R.id.lv); persenter = new Homepersenter(this); persenter.showListData(); } @Override public void showListData(List name) { ArrayAdapter adapter = new ArrayAdapter(this, android.R.layout.simple_list_item_1,name); lv.setAdapter(adapter); } @Override protected void onDestroy() { super.onDestroy(); persenter.detach(); }}
阅读全文
0 0
- MVP解绑
- MVP解绑
- MVP解绑
- mvp解绑
- MVP解绑
- MVP解绑
- MVP解绑
- MVP加泛型,抽基类,解绑,多条目
- MVP+retrofit+解绑(自己总结)
- Mvp的实现以及解绑的关系
- android MVP模式简单实现并优化解绑
- 解绑
- 解绑
- MVP入门,接口回调new接口和implement实现,防止内存泄露解绑
- andriod——Retrofit+Fresco+MVP+解绑实现购物车
- andriod——Retrofit+Fresco+MVP+解绑实现二级购物车
- 项目中的绑卡与解绑
- 手机解绑
- getenv setenv putenv unsetenv 使用详解
- 在 WebSphere Studio 中配置并使用 XA 分布式事务
- Java架构师学习路线
- VR技术直播的难点
- python 处理底层数据
- MVP解绑
- FastDFS
- 图片预览
- 搜索系统13:一个查询从solr到lucene都干了些什么事?
- RabbitMQ队列跑消息
- IOS搜索条
- TensorFlow学习笔记6——《面向机器智能的TensorFlow实践》StanfordDog例程修改记录
- angular中使用ECharts
- 自定义view画圆和对圆的移动