天天看點

Fragment與Activity以及Fragment的資料傳遞

Fragment與Activity的必要性

雖然在Activity中能擷取Fragment的控件,進而可以對控件進行操作,但是如果Activity所關聯的Fragment的所有操作都在Activity中操作,不僅會導緻Activity内容過多難于了解,而且複雜的邏輯結構更是會導緻Bug的難以修複。另一方面,Fragment将自己的控件交由Activity處理,破壞了封裝性也不符合面向對象的理念。

由Fragment處理自己控件的響應事件,然後将處理的結果傳回到對應的Activity,是一種最為合适的政策。

實作Fragment與Activity的資料傳遞

1、将自己需要的函數定義成接口

Fragment與Activity以及Fragment的資料傳遞

2、在Activity中實作接口中的函數

Fragment與Activity以及Fragment的資料傳遞

繼承接口content,實作接口中的方法

實作的時候加@Override會報錯,是以我就沒加注解

3、在需要的Fragment中調用對應的函數即可

Fragment與Activity以及Fragment的資料傳遞

Fragment與Fragment的資料傳遞

Fragment與Fragment的資料傳遞同樣具有重要的作用

上面實作了Fragment的資料傳遞到Activity,現在隻需要将Activity的資料傳遞到Fragment就可以

實作Fragment與Fragment的資料傳遞了

Fragment----->Activity------>Fragment

在Fragment中調用Activity中實作接口中的方法,擷取資料

Fragment與Activity以及Fragment的資料傳遞

原理上都是Fragment與Activity的互動,隻是後者在Activity中存儲了另一個Fragment的資料然後傳遞給

下一個Fragment罷了。