[問題] android observer dispatch 疑問

看板AndroidDev作者 (假嗨)時間7年前 (2017/04/27 19:37), 7年前編輯推噓1(105)
留言6則, 2人參與, 最新討論串1/1
小弟目前工作經驗要兩年,關於這個議題的用法沒有很熟悉,但是看到夥伴會用這個方式 來處理事情,卻總覺得像是為了用它而用,而不是為了解決問題而用。舉個例子,一個ma in activity(簡稱a) + 兩個fragment (a和b),然後a畫面有一個button (簡稱c),透過 dispatch 呼叫a或b畫面的public boolean checkInput(),確認欄位合法後,呼叫a或b的 save()將欄位值存入DB。 但是這時候我卻發現夥伴卻在checkInput()內放了一個dispatch 將檢查後的boolean傳回 a,然後a的observe catch dispatch 收到後再發dispatch 呼叫a或b的save()才存檔到DB 。 問他為什麼也說不出優點,只說用observer比較好,但是就直覺而言,不就是a或b的chec kInput()執行完後就呼叫本身的save()就好?就算是要刷新a或b畫面上的UI,也不用用di spatch 傳來傳去? 不知有沒有高手能幫我上一課,讓我瞭解一下?因為他讓我在追code 的時候超難維護的 ,尤其gradle版本不穩定(若升版)還會發生dispatch沒作用的問題,導致crash...... -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 223.137.216.34 ※ 文章網址: https://www.ptt.cc/bbs/AndroidDev/M.1493293065.A.F13.html

04/27 20:15, , 1F
如果都寫在fragment裡面我覺得是沒必要這樣傳來傳去
04/27 20:15, 1F

04/27 20:18, , 2F
這流程先傳回activity,唯一想到的用途是這個fragment用在
04/27 20:18, 2F

04/27 20:19, , 3F
不同activity時,會由activity決定checkInput後做不做save
04/27 20:19, 3F

04/27 20:20, , 4F
如果checkInput完固定save,save又在fragment中就沒必要
04/27 20:20, 4F

04/27 20:32, , 5F
真不知道要怎跟那工作經驗且年資長的的夥伴促膝長談
04/27 20:32, 5F

有太多地方都這樣迂迴的方式呼叫,有時候連recycle adapter的item c
lick都會發現。 ;( ※ 編輯: brandonron (223.137.216.34), 04/27/2017 20:39:13
文章代碼(AID): #1P0TW9yJ (AndroidDev)
文章代碼(AID): #1P0TW9yJ (AndroidDev)