activity与适配器动态传值,传操作
2016-05-17 11:10
169 查看
做了一个demo,在收件箱这样的收件列表左滑删除 删除之后如何刷新当前页面让我研究了一天最终使用观察者模式解决了,对观察者模式运用的不好;不多说 上代码
/** * 用于activity监听适配器等的变化 * 不要再增加方法和属性,有传值需要自行写接口 * Created by Jeff on 2016/5/16. */ public interface CommonListener { /** * 1-在需要被监听的类里声明 CommonListener,并生成set方法 * private CommonListener commonListener; * public void setCommonListener(CommonListener commonListener) { * this.commonListener = commonListener; * } * 2- 需要设置监听(让接口生效)的地方 setCommonListener * 3-在需要监听的地方(activity)实现本接口及其中的方法 随心所欲的爱干啥干啥吧 */ void getListener(); }适配器里面:声明接口,生成setget方法,需要回调的时候,用声明的接口对象调用接口的方法即可
private CommonListener com; public CommonListener getCom() { return com; } public void setCom(CommonListener com) { this.com = com; }
@Override public void onResponse(String result, int flag) { com.getListener(); DebugLogUtil.getInstance().Info("请求删除结果" + result); }
activity里面:实现接口及方法,并在方法实现里面调动你需要的操作 这样大功告成,在适配器删除成功后 activity中的方法实现会响应,做操作
<pre style="font-family: Consolas; font-size: 10.5pt; background-color: rgb(202, 230, 202);"><span style="color:#7f0055;"><strong>implements </strong></span><span style="color:#333333;"> </span><span style="color:#000b7c;"><strong>CommonListener </strong></span>
@Override public void getListener() { getData(); DebugLogUtil.getInstance().Info("重新请求草稿箱"); }不明白的可以评论 也可qq问我 330132662
相关文章推荐
- Swing 刷新组件java swing中两大原则: 1. 不要阻塞UI线程 2. 不要在UI线程外的线程去操作UI控件
- redis学习笔记之数据类型
- [IOS/翻译]GCD-2 Queuing Tasks for Dispatch
- Python全栈开发之6、正则表达式
- La 3177
- Python -- 安装
- iOS开发之诱导用户为自己的App评论功能
- 将 MVVM 演化为 MVVMM
- plsql developer 怎么卸掉中文语言包
- 00_ubuntu下vim的c++补全
- JS读取本地文件及目录的方法
- TreeView 的简单实用
- Bootstrap打造一个左侧折叠菜单的系统模板(二)
- ASP.NET MVC---自定义HtmlHelper方法
- hdu2389+二分匹配(Hopcroft-Karp算法)
- Android执行Linux命令的方法
- iOS之UITextField对输入的内容的长度限制和内容限制
- jquery中ajax如何返回值到上层函数里?
- LA 3902
- Objective-C小知识收集