AndroidDev 板


LINE

大家好 最近开始接触android 有一个比较关於 design上的问题请教各位 常常会在非activity的class内需要update UI element. 这时候这个ui element物件从哪来的?? 到底该怎麽设计会比较优雅 假设receiver收到intent後要更新ui 我自己想到的方式有以下几个 1.无脑把receiver写在Activity inner class, 这样也不用刻意传递ui 物件 想存取谁就存取谁, 但这时又想到 若这receiver有可能会存取 另一个activity底下的ui 这样就不能写在inner class了?? 2. Activity new 一个Handler 和对应要执行的Runnable物件到receiver里面 等到收到intent後 直接执行post 让他去跑我的Runnable(当然这runnable又要写在inner) 感觉这比1 漂亮一些... 3. 把所有Activity用到的UI 物件都抽出来到一个class内 例如 class Activity1UI{static public TextView t;.....} class Activity2UI{......} 这样不管是要在哪里存取哪个activity的UI 都直接存static物件取得 但这方法我自己觉得是要刻意判断这物件是不是null(刚好activity并不存在的情况) 4. 当然就是最苦力的 class要存取哪个ui 就在constructor开介面让使用的人传进来 但这个写法就很不弹性了...新增或是删除ui 都要改很多地方... 以上是我新手能想到的方法@@ 请问各位告诉我有什麽好方式或是standard pattern可以学习的 请指教 谢谢 --



※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 180.218.216.157
1F:→ gn00742754:非Activity Class中写event listener,建构的时候传 12/29 04:15
2F:→ gn00742754:实作近来 12/29 04:15
3F:→ QQ29:listener在java也只是自己开界面传物件,这样等於listener也 12/29 11:23
4F:→ QQ29:会遇到我问的问题吧?除非activity本身就是listener,但这样架 12/29 11:23
5F:→ QQ29:构变很怪 12/29 11:23
6F:推 sdyy:用一 在onresume注册 onpause注销 就好啦 12/29 11:33
7F:推 tac0wu:你的意思是想一个reciver instance控制复数个Activity? 12/29 15:06
8F:→ tac0wu:receiver 12/29 15:07
9F:→ tac0wu:这我第一个想到就是 memory leak 的问题 12/29 15:07
10F:→ tac0wu:如果你只是想做receiver 跟其他被控制物件的decouple 12/29 15:09
11F:→ tac0wu:就用 listenner 的作法即可 12/29 15:09
12F:推 tac0wu:基本上你的问题 通常就是用delegation 来解 12/29 15:26
13F:推 aimw0202:还蛮多的 可用database、sharepreference、static(注意me 12/29 17:36
14F:→ aimw0202:morey就好) Listener也可,receiver缺点是有时候收太慢 12/29 17:38
15F:→ QQ29:receiver只是我举例,主要是想问非activity的class想存取ui, 12/29 23:55
16F:→ QQ29:该怎让这class使用呢?例如asynctask之类的 12/29 23:55
17F:→ QQ29:传listener这listener也是会有需要存取ui的需求,除非写在inn 12/29 23:58
18F:→ QQ29:er class但总觉得都写在inner 似乎不是个好design 12/29 23:58
19F:推 tac0wu:你会觉得onclick listener 很怪吗 12/30 00:11
20F:推 tac0wu:你的class declare 一个inner public interface 12/30 00:15
21F:推 tac0wu:.在activity implement 後传近去 12/30 00:16
22F:推 typepeter:还满多Android系统自己的Class,都写一堆inner class 12/30 00:18
23F:推 tac0wu:基本上android 用这种方式做decouple 很常见喔 12/30 00:18
24F:→ typepeter:如果觉得太怪的话 可以看看Google怎麽写的:P 12/30 00:18
25F:推 gpc5566:inner class很正常 ANDROID都这样 跟M$不一样... 12/30 14:37
26F:推 gpc5566:不然你再用UI listener还要多弄一个class装吗 12/30 14:40
27F:→ QQ29:java有类似c# partial class写法吗,想分档案写,怕一个class 12/31 02:06
28F:→ QQ29:再一个档案过大 12/31 02:06
29F:→ quare96:你可以看看roboGuice, 这课题我之前研究过 01/03 13:46







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灯, 水草

请输入看板名称,例如:BabyMother站内搜寻

TOP