請問,視頻中,fragment向activity傳遞數據,是通過實現接口的方式,不知道為什么用這種方式?因為也可以直接在activity中定義方法,然后在fragment中getActivity(),再調用方法不也可以嗎?接口在這里有什么特別的作用或優點嗎?

冰川孤辰
2014-07-17
1 回答
舉報
0/150
提交
取消
2014-07-18
使用接口的好處是保證Fragment的獨立性,如果Activity需要接受來自于Fragment的數據,就去實現Fragment中定義的接口,不需要就不去實現。那么即使這個Fragment去導入到其他Activity或者其他工程中的時候,宿主Activity是否實現此接口也是有選擇性的,這樣增加了代碼的靈活性。雖然你說的方式邏輯可行,但是為了接收Fragment的數據,而去在Activity中固定某方法接受這個參數,明顯會把兩者之間的關系拉的緊密,從而降低代碼的靈活性。在Android中的很多監聽器普遍都采用這種思想,比如OnClickListener,只會在需要的使用才會去實現它