課程
/移動開發
/Android
/Android攻城獅的第二門課(第1季)
RT 不懂為什么要這樣
2016-03-06
源自:Android攻城獅的第二門課(第1季) 9-4
正在回答
個人理解應該是將listener和Activity實現綁定
慕萊塢2491857 提問者
listener 是 fragment 的內部類,調用 listener.thank(),實際是執行activity的thank()。原理是父類指向子類,子類實現了父類的方法,執行的就是子類的方法。
所以看起來是fragment在執行自己的方法,實際是執行了activity的代碼。(相當于fragment是告訴activiy,你準備要調用thank()了,所以具體的實現代碼是由activity管理的)
也體現了封裝的特性。因為把fragment把數據傳給了acvitity之后,具體activity要怎么做,fragment管不著,也沒必要管。(fragment只需要把數據扔過去,其他事一概不管)
其實,直接在 fragment 中調用 getActivity.thank(xxx); 也可以實現相同的功能。不過這個就違背了封裝的性質了。
搞不懂。。
舉報
本課程由淺入深地帶您學會Android的常用控件的開發和使用
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2016-03-06
個人理解應該是將listener和Activity實現綁定
2016-07-08
listener 是 fragment 的內部類,調用 listener.thank(),實際是執行activity的thank()。原理是父類指向子類,子類實現了父類的方法,執行的就是子類的方法。
所以看起來是fragment在執行自己的方法,實際是執行了activity的代碼。(相當于fragment是告訴activiy,你準備要調用thank()了,所以具體的實現代碼是由activity管理的)
也體現了封裝的特性。因為把fragment把數據傳給了acvitity之后,具體activity要怎么做,fragment管不著,也沒必要管。(fragment只需要把數據扔過去,其他事一概不管)
其實,直接在 fragment 中調用 getActivity.thank(xxx); 也可以實現相同的功能。不過這個就違背了封裝的性質了。
2016-05-11
搞不懂。。