[问题] Android Handler管理UI的写法

楼主: pauliaia   2015-06-18 15:03:31
想问各位老手
在Android当中 会有handler 写在 activity上面去控制activity UI
目前我也是使用这个方法
class myActivity extends Activity {
class mHandler extends Handler{
@Override
public void handleMessage(Message msg) {
switch ......
}}}
然后把handler传给需要控制UI的物件 sendmessage 改UI
我的问题:
我在Activity里面需要写控制UI handler
可是我发现目前Activity 变得有点脏乱 原因是 太多UI需要动 function也很多
我想到的办法是
额外再创一个class 继承Handler 可能叫ActivityHandler 然后建构子放上View参数
并放init() 去findViewByID
可是这样写好吗??
还是可以用interface ?
请指教 感恩
作者: mshockwave (夏克维夫)   2015-06-18 15:29:00
会很乱是因为你开很多thread吗?main thread中操作UI不用用到handler吧
作者: abccbaandy (敏)   2015-06-18 15:33:00
databinding
楼主: pauliaia   2015-06-18 16:02:00
有多个thread 在控制 图像拨放但是也有非thread object直接用message 控制ui 因为我不想再物件控制UI 感觉很乱
作者: htury (冰点)   2015-06-18 16:11:00
有动到ui的,建议用asyncTask比较省事
楼主: pauliaia   2015-06-18 17:41:00
歪楼了XD 我主要是说handler的部分 要怎改写因activity很大
作者: visor (~~~~~~~~~~)   2015-06-18 18:10:00
runOnUiThread
作者: givemepass (λ)   2015-06-18 20:41:00
直接new Hanlder了 UI部分再用runOnUiThread
作者: wendly777 (小水)   2015-06-19 00:03:00
建议可以用RxJava + lambda
作者: KeySabre (KeySabreur)   2015-06-19 01:57:00
可能要先厘清怎样觉得脏乱,想改成怎样才叫不脏乱我个人是不喜欢把handler传出去外面,倾向定义interface…
作者: JULONE780701 (亚)   2015-06-19 09:20:00
写法跟你很像,但我不完全是为了改UI而用主要是为了UI/background Thread的切换把使用动机改成任务取向,应该会比较漂亮
作者: givemepass (λ)   2015-06-19 12:13:00
直接new Thread了 UI部分再用runOnUiThread 打错

Links booklink

Contact Us: admin [ a t ] ucptt.com