您的位置:首页 > 其它

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

                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: