看板 AndroidDev 關於我們 聯絡資訊
小弟目前工作經驗要兩年,關於這個議題的用法沒有很熟悉,但是看到夥伴會用這個方式 來處理事情,卻總覺得像是為了用它而用,而不是為了解決問題而用。舉個例子,一個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
ssccg: 如果都寫在fragment裡面我覺得是沒必要這樣傳來傳去04/27 20:15
ssccg: 這流程先傳回activity,唯一想到的用途是這個fragment用在04/27 20:18
ssccg: 不同activity時,會由activity決定checkInput後做不做save04/27 20:19
ssccg: 如果checkInput完固定save,save又在fragment中就沒必要 04/27 20:20
brandonron: 真不知道要怎跟那工作經驗且年資長的的夥伴促膝長談 04/27 20:32
brandonron: 有太多地方都這樣迂迴的方式呼叫,有時候連recycle adapter的item c
lick都會發現。 ;( ※ 編輯: brandonron (223.137.216.34), 04/27/2017 20:39:13