学习笔记——Dialog回调
来源:互联网 发布:linux snmp 编辑:程序博客网 时间:2024/05/21 09:05
刚才看到我的上一篇文章都是三个月前的了,这次也懒得找借口了(这是有多懒)。过了这么久,当然还是存了不少干货了,刚好最近想整理下这段时间的内容。上一篇文章是关于Dialog的,那么这篇文章就从它入手吧。接着往下写,很多时候,我们的Dialog所运用的场景和可能不是当前页面。
还是先上图:
就像这样的场景,一个发布页面,当用户将内容填写完毕后,发布,我们需要弹窗提示用户再仔细审查一遍,或者当时用户不想直接发布,添加到草稿等。
但是,发现没有,弹出这个Dialog,当用户点击确定的时候,我们怎样在这个确定的单击事件中,将他上面所填写的内容发送到服务器便成问了问题。
今天,我给大家带来了两个解决方案,大家根据自己的场景选择就好:
1、可以用集合,Map等存放数据的容器将上面这些数据保存,弹出Dialog的时候传递到Dialog里面,在Dialog里接收这个容器,再依次拿出数据,用网络框架发送到服务器即可。举个栗子:
Map<String, Object> params = new HashMap<String, Object>();params.put("ISO_ID", workOrder.ISO_ID);params.put("IR_ID", workOrder.IR_ID);params.put("IR_CD", workOrder.IR_CD);params.put("IR_TITLE", workOrder.IR_TITLE);params.put("LATN_ID", sLoginInfoVo.USER.USER_PRIV.LATN_ID);。。。
然后在Dialog的构造方法中将params这个Map拿到。然后在确定的单击事件中发送到服务器就好:
private void commitData(Map<String, Object> params, String serviceCode) { AppRestClient.post(serviceCode, params, new AppResponseHandler<RequsetVo>(RequsetVo.class) { @Override public void onSuccess(RequsetVo result) { Intent intent = new Intent(AreaGuestActivity.this, CommonActivity.class); startActivity(intent); finish(); ToastUtil.showLong(AreaGuestActivity.this, "提交成功!!"); } @Override public void onFailure(int errorCode, String errorMsg) { ToastUtil.showLong(AreaGuestActivity.this, errorMsg); } });}当然,这个不是今天的重点,今天的重点是第二个。
2、使用接口回调的方式:
我们可以在Dialog的方法里将确定发布的方法回调出去,代码如下:
public interface OnClickListener{ /** * 当点击某条的时候回调这方法 */ public void onItemClick(Context context,boolean cancelorsure);}//定义接口private OnClickListener onClickListener;/** * 设置Item的点击监听 * @param listener */public void setOnClickListener(OnClickListener listener){ this.onClickListener=listener;}在单击事件中:
mbtn_sure.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { dismiss(); if(onClickListener!=null) { onClickListener.onItemClick(context,true); } }});在发布页面,当用户确定发布的单击事件里(一些逻辑处理后,至少得做个非空判断吧):
ok,解决了。不过这种方式,我当时使用的时候脑袋有点没转过来。HintDialog myDialog = new HintDialog(PublishActivity.this);myDialog.show();myDialog.setOnClickListener(new HintDialog.OnClickListener() { @Override public void onItemClick(Context context, boolean cancelorsure) { postOkHttpUtils_publish();//发布到服务器的方法 }});
阅读全文
1 0
- 学习笔记——Dialog回调
- 学习笔记——自定义Dialog
- 兄弟连云Android学习笔记——Dialog(对话框)
- Android学习笔记(6)—关于Dialog的简单体验
- Dialog学习笔记
- 《Dialog》学习笔记
- Dialog学习笔记
- Android学习笔记: Dialog
- jQuery dialog 学习笔记
- Android学习——Dialog
- EasyUI学习笔记(二)——学习使用EasyUI之Dialog
- Dojo学习笔记--dijit.Dialog
- 【Android学习笔记】自定义Dialog
- 学习笔记之自定义Dialog
- 学习笔记:Dialog重用类
- Android课堂笔记——dialog对话框
- android开发学习笔记——自定义布局的dialog宽度的问题
- 学习笔记之——自定义Dialog仿ios弹出底部菜单
- Python中的Numpy数组
- 软件精确定时子函数
- Labview数组应用实例
- 解决java.lang.IllegalArgumentException: No converter found for return value of type: class java.util
- vysor技术实现原理(投屏不包括鼠标控制)
- 学习笔记——Dialog回调
- 权限系统与RBAC模型概述[绝对经典]
- 【Java基础 五】---输入输出io流
- wso2 API 调研
- QQ聊天框中发送url网站链接预览内容修改方法
- leetcode 67. Add Binary
- [LeetCode] 96. Unique Binary Search Trees
- Git 简易本地库建立以及分享
- psr-4规范