[問題] Android Handler管理UI的寫法

看板AndroidDev作者時間9年前 (2015/06/18 15:03), 編輯推噓6(6012)
留言18則, 9人參與, 最新討論串1/1
想問各位老手 在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 ? 請指教 感恩 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 211.22.206.217 ※ 文章網址: https://www.ptt.cc/bbs/AndroidDev/M.1434611013.A.245.html

06/18 15:29, , 1F
會很亂是因為你開很多thread嗎?main thread中操作UI
06/18 15:29, 1F

06/18 15:29, , 2F
不用用到handler吧
06/18 15:29, 2F

06/18 15:33, , 3F
databinding
06/18 15:33, 3F

06/18 16:02, , 4F
有多個thread 在控制 圖像撥放但是也有非thread object
06/18 16:02, 4F

06/18 16:02, , 5F
直接用message 控制ui 因為我不想再物件控制UI 感覺很亂
06/18 16:02, 5F

06/18 16:11, , 6F
有動到ui的,建議用asyncTask比較省事
06/18 16:11, 6F

06/18 17:41, , 7F
歪樓了XD 我主要是說handler的部分 要怎改寫因activity
06/18 17:41, 7F

06/18 17:41, , 8F
很大
06/18 17:41, 8F

06/18 18:10, , 9F
runOnUiThread
06/18 18:10, 9F

06/18 20:41, , 10F
直接new Hanlder了 UI部分再用runOnUiThread
06/18 20:41, 10F

06/19 00:03, , 11F
建議可以用RxJava + lambda
06/19 00:03, 11F

06/19 01:57, , 12F
可能要先釐清怎樣覺得髒亂,想改成怎樣才叫不髒亂
06/19 01:57, 12F

06/19 02:00, , 13F
我個人是不喜歡把handler傳出去外面,傾向定義interface
06/19 02:00, 13F

06/19 02:00, , 14F
06/19 02:00, 14F

06/19 09:20, , 15F
寫法跟你很像,但我不完全是為了改UI而用
06/19 09:20, 15F

06/19 09:21, , 16F
主要是為了UI/background Thread的切換
06/19 09:21, 16F

06/19 09:25, , 17F
把使用動機改成任務取向,應該會比較漂亮
06/19 09:25, 17F

06/19 12:13, , 18F
直接new Thread了 UI部分再用runOnUiThread 打錯
06/19 12:13, 18F
文章代碼(AID): #1LWcr595 (AndroidDev)