AndroidDev 板


LINE

※ 引述《lovelycateye (我还想要更多力量)》之铭言: : 原文吃光光~ : 1.DialogInterface.OnClickListener 本身就是你所谓的观察者模式的实践(监听者模式) : 如果原本就是空的,没必要在这之上加上一层多余的 Interface : 2.没必要存下来的东西就不要特别存下来, : 一来增加不懂的人误用的机率, : 二来万一这物件重复使用又要很小心的控制里面的成员变数状态, : 所以不需要用 new 起来再包一层的方式。 : 3.同样的 AlertDialog 要重复利用时,已经建立起来後,就把它存起来。 : 直接呼叫 show() 显示即可,不要每次都重新建立。 : 4.可以考虑多多善用 Overload 的方式,避免撰写重复的程式码。 : 请参考:https://gist.github.com/anonymous/612848de46c2930f5263 我想猫眼大可能误会了 我在回文上有注记 "这样就是一个简单的callback 但是只有对一个注册有效 後面还有很多变化 例如可以独立出一个类别专门让人在注册 当所有注册的物件 在某些事情发生变化的时候 就可以群体通知 当然android你也可以用广播来完成 (如果需要我在写一个范例for多个注册的) 这也是一种设计模式 叫做"观察者模式" " 这边说明用途是用在通知 是想要让後续更有弹性 当然不是说你的方法不好 你的方法是正确的 在专案上处理都是混搭着用 Dialog会额外开一个Helper跟你叙述的是相同的 另外还会多开一个Listener通知中心类别 用来监控所有Dialog所修改的资料 这时候Listener就可以发挥很强大的功能了 至於你说的这四点 我想平反一下 : 1.DialogInterface.OnClickListener 本身就是你所谓的观察者模式的实践(监听者模? : 如果原本就是空的,没必要在这之上加上一层多余的 Interface 基本上AlertDialog的OnClickListener没有弹性了 他只能传入dialog跟int which, 万一你想传物件 想传阵列 那是否只能自己在写一个listener : 2.没必要存下来的东西就不要特别存下来, 这边应该是指dialog? 还是listener物件? 如果是listener 你的做法也是new一个listener进去 应该没什麽不同 :D : 一来增加不懂的人误用的机率, 不懂的人误用? 这边会误用是指? : 二来万一这物件重复使用又要很小心的控制里面的成员变数状态, : 所以不需要用 new 起来再包一层的方式。 这段其实我真的看不太懂 观察者模式只有注册 注销两种使用方式而已 写好以後应该是不会让使用的人去控制里面 : 3.同样的 AlertDialog 要重复利用时,已经建立起来後,就把它存起来。 : 直接呼叫 show() 显示即可,不要每次都重新建立。 但是想像一个情境 A, B, C三个页面都存在使用者名称 这时候A呼叫AlertDialog 修改姓名, B跟C都要被通知即时更新 这时候就需要Listener来通知了! : 4.可以考虑多多善用 Overload 的方式,避免撰写重复的程式码。 看情况! 基本上原生的弹性不够, 所以我会走最原始的路, 也就是自己写 就像我不会去用ArrayAdapter或者SimpleAdapter来制造ListView是一样的道理。 其实後来看了一下 我没有对原po的AlertDialog做到改善 避免多生成许多Dialog 只是提供一个通知的方式给他而已XD 猫眼大讲的跟我的通知其实可以说是不冲突 两种方式是可以并存的 -- posted from android bbs reader on my Nokia 3310 --



※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 59.115.103.22
※ 文章网址: http://webptt.com/cn.aspx?n=bbs/AndroidDev/M.1414946540.A.2BB.html
1F:推 zxc190: 推热心! 11/03 00:46
2F:推 tga123: 推神机3310 11/03 01:08







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:Boy-Girl站内搜寻

TOP